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