結果

問題 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);
      |         ^~~~~~~~~~~~~~~~~

ソースコード

diff #

#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;
}
0