結果
| 問題 |
No.371 ぼく悪いプライムじゃないよ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-05-30 12:20:21 |
| 言語 | C90 (gcc 12.3.0) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 785 bytes |
| コンパイル時間 | 86 ms |
| コンパイル使用メモリ | 27,904 KB |
| 最終ジャッジ日時 | 2025-02-21 10:44:18 |
| 合計ジャッジ時間 | 785 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.c:5:1: error: C++ style comments are not allowed in ISO C90
5 | //minimum prime
| ^
main.c:5:1: note: (this will be reported only once per input file)
ソースコード
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//minimum prime
long func(long a){
long result;
long i;
if(a%2==0) return 2;
else{
for(i=3;i<=sqrt(a);i+=2){
if(a%i==0)
return i;
}
}
return a;
}
long max (long a , long b){
long result;
(a>b)?(result = a):(result = b);
return result;
}
int main(){
long a,L,H,i,j,prime[100000];
long result,result_prime;
int num=0;
scanf("%ld %ld",&L,&H);
for(a=2;a<=sqrt(H);a++){
if(a==func(a)){
prime[num]=a;
num++;
}
}
for(i=num-1;i>=0;i--){
if(prime[i]*prime[i]<=H){
for(a=H/prime[i]*prime[i];a>=max(L,prime[i]*prime[i]);a-=prime[i]){
for(j=0;j<i;j++){
if(a%prime[j]==0)break;
}
if(j==i) {
printf("%ld\n",a);
return 0;
}
}
}
}
}