結果
問題 | No.36 素数が嫌い! |
ユーザー |
|
提出日時 | 2015-07-22 13:03:35 |
言語 | C90 (gcc 12.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 621 bytes |
コンパイル時間 | 403 ms |
コンパイル使用メモリ | 24,064 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-08 11:46:48 |
合計ジャッジ時間 | 1,282 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 24 WA * 2 |
コンパイルメッセージ
main.c: In function ‘main’: main.c:12:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 12 | scanf("%lld", &n); | ^~~~~~~~~~~~~~~~~
ソースコード
#include <stdio.h> #include <math.h> #include <limits.h> int main(void) { unsigned long long int i = 0; unsigned long int j = 0; unsigned char is_prime = 1; unsigned long long int n = 0; unsigned char fact_time = 0; scanf("%lld", &n); i = 1; while ( fact_time <= 2 ) { is_prime = 1; for ( i=(i+1); i<=sqrt(n); i++ ) { if ( !(n % i) ) { is_prime = 0; break; } } if ( is_prime ) { fact_time++; break; } while ( !(n % i) ) { n /= i; if ( fact_time < UCHAR_MAX ) fact_time++; } } if ( fact_time > 2 ) { printf("YES\n"); } else { printf("NO\n"); } return 0; }