結果

問題 No.294 SuperFizzBuzz
ユーザー MoritaYasuaki
提出日時 2016-05-09 03:55:01
言語 C90
(gcc 12.3.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,082 bytes
コンパイル時間 167 ms
コンパイル使用メモリ 26,496 KB
最終ジャッジ日時 2025-01-28 12:24:27
合計ジャッジ時間 710 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.c: In function 'main':
main.c:43:9: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   43 |         for (int nfive = 3; nfive <= rank; nfive+=3)
      |         ^~~
main.c:43:9: note: use option '-std=c99', '-std=gnu99', '-std=c11' or '-std=gnu11' to compile your code

ソースコード

diff #
プレゼンテーションモードにする

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#define int ptrdiff_t
#define div lldiv
#define div_t lldiv_t
#define abs(a) ((a)<0?-(a):(a))
#define min(a,b) ((a)<(b)?(a):(b))
int N;
int conb(int n, int r) {
int p = 1;
int q = 0;
while (r--)
p=p*n--/++q;
return p;
}
int check(int a, int rank) {
int t = 0;
if (a%2 == 0) return 0;
while (rank--)
if (a & (1ULL << rank))
t++;
return t%3 == 0;
}
void print(int a, int rank) {
while (rank--)
if (a & (1ULL << rank))
putchar('5');
else
putchar('3');
printf("\n");
}
main() {
scanf("%td\n", &N);
int rank = 3;
for (rank = 3; ; rank++) {
int t = 0;
for (int nfive = 3; nfive <= rank; nfive+=3)
t += conb(rank-1, nfive-1);
if (t < N) {
N-=t;
} else {
break;
}
}
int a=0;
do {
if (check(a, rank))
if (--N == 0)
break;
a++;
} while(1);
print(a, rank);
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0