結果

問題 No.593 4進FizzBuzz
ユーザー ducktail
提出日時 2017-12-30 20:27:03
言語 Scheme
(Gauche-0.9.15)
結果
AC  
実行時間 413 ms / 2,000 ms
コード長 636 bytes
コンパイル時間 314 ms
コンパイル使用メモリ 7,072 KB
実行使用メモリ 119,424 KB
最終ジャッジ日時 2024-12-21 13:28:18
合計ジャッジ時間 11,146 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

(define (classify ls)
  (let loop ([a 0]
             [b 0]
             [ls ls])
    (cond [(null? ls) (values a b)]
          [(null? (cdr ls)) (values b (+ a (car ls)))]
          [else (loop (+ a (car ls)) (+ b (cadr ls)) (cddr ls))])))

(define (main args)
  (let* ([s (read-line)]
         [ls (map digit->integer (string->list s))])
    (receive (o e) (classify ls)
             (print
              (cond [(and (zero? (modulo (+ o e) 3)) (zero? (modulo (- e o) 5))) "FizzBuzz"]
                    [(zero? (modulo (+ o e) 3)) "Fizz"]
                    [(zero? (modulo (- e o) 5)) "Buzz"]
                    [else s]))))
  0)
0