結果

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

ソースコード

diff #

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