結果
| 問題 | No.371 ぼく悪いプライムじゃないよ |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-05-30 12:20:21 |
| 言語 | C(gnu17) (gcc 15.2.0) |
| 結果 |
AC
|
| 実行時間 | 17 ms / 1,000 ms |
| コード長 | 785 bytes |
| 記録 | |
| コンパイル時間 | 334 ms |
| コンパイル使用メモリ | 42,876 KB |
| 最終ジャッジ日時 | 2026-02-23 21:24:39 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
| 純コード判定しない問題か言語 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 42 |
ソースコード
#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;
}
}
}
}
}