結果

問題 No.637 X: Yet Another FizzBuzz Problem
ユーザー h81493
提出日時 2024-05-14 21:53:13
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 3 ms / 1,000 ms
コード長 1,078 bytes
コンパイル時間 175 ms
コンパイル使用メモリ 31,488 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-12-20 10:06:10
合計ジャッジ時間 1,203 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>
#include <string.h>

// 関数宣言
static int fizzbuzz_response_length(int n);

int main() {
    int n;
    int response_length = 0;
    int i = 0;
    while(i++ < 5) {
      // Dengklek が言った整数を入力
      (void)scanf("%d", &n);
      // fizzbuzz_response_length関数を呼び出して、応答の文字数を取得
      response_length = response_length + fizzbuzz_response_length(n);
    }
    // 結果を表示
    printf("%d\n", response_length);
    return 0;
}

// fizzbuzz_response_length 関数
int fizzbuzz_response_length(int n) {
  int ret=0;
  if ( n % 3 == 0 && n % 5 == 0) {
      // "FizzBuzz" の文字数は 8
      ret=8;
  } else if (n % 3 == 0) {
      // "Fizz" の文字数は 4
      ret=4;
  } else if (n % 5 == 0) {
      // "Buzz" の文字数は 4
      ret=4;
  } else {
      // 整数をそのまま返す場合、その整数の文字数を計算
      char buffer[20];  // 十分に大きなバッファを用意
      (void)snprintf(buffer, 20, "%d", n);
      ret=(int)strlen(buffer);
  }
  return ret;
}
0