結果
問題 | No.192 合成数 |
ユーザー | C_kumo |
提出日時 | 2019-01-21 20:05:40 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 795 bytes |
コンパイル時間 | 370 ms |
コンパイル使用メモリ | 32,512 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-15 13:14:20 |
合計ジャッジ時間 | 1,550 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 25 |
ソースコード
#include <stdio.h>#include <stdlib.h>#include <math.h>short p[1000];short pNum;void makePrimeList(short n);int main(void){short n,i,j;scanf("%hd",&n);makePrimeList(n+100);j=0;for (i=n-100;i<=n+100;i++) {for (;j<pNum;j++) {if (p[j] < i) continue;if (p[j] > i && i!=1) {printf("%hd\n",i);return 0;}break;}}return 0;}// return number of primevoid makePrimeList(short n){short i,j,*tmpP;tmpP = (short *)malloc(sizeof(short) * n);tmpP[0] = 1;for (i=1;i<n;i++) tmpP[i] = 0;pNum = 0;for (i=2;i<=sqrt(n);i++) {if (tmpP[i-1]==1) continue;p[pNum] = i;pNum++;for (j=i;j<=n;j+=i) {tmpP[j-1] = 1;}}for (i=(int)sqrt(n);i<=n;i++) {if (tmpP[i-1]==1) continue;p[pNum] = i;pNum++;}return;}