鄭輕OJ 1092: 素數表(函式專題) 篩選法選擇素數
阿新 • • 發佈:2019-01-09
1092: 素數表(函式專題)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 5837 Solved: 2375
SubmitStatusWeb Board
Description
輸入兩個正整數m和n,輸出m和n之間的所有素數。
要求程式定義一個prime()函式和一個main()函式,prime()函式判斷一個整數n是否是素數,其餘功能在main()函式中實現。
int prime(int n)
{
//判斷n是否為素數, 若n為素數,本函式返回1,否則返回0
}
Input
輸入兩個正整數m和n,m<=n,且都在int範圍內。
Output
輸出佔一行。輸出m和n之間的所有素數,每個數後有一個空格。測試資料保證m到n之間一定有素數。
Sample Input
2 6Sample Output
2 3 5HINT
Source
AC不成功,陣列越界。。。。
程式碼:
/*=============================AC情況===============================*/ /*題目網址: */ /*時間: */ /*心得: */ #include<stdio.h> #include<stdlib.h> #include<string.h> #define G 10001 bool issu[G]; void init() { memset(issu,true,sizeof(issu)); issu[0]=issu[1]=false; issu[2]=issu[3]=true; for(int j=0; j<G-1; j++) { if(issu[j]) { for(int k=2*j; k<G-1; k=k+j) issu[k]=false; } } } int main() { int m,n; scanf("%d%d",&m,&n); init(); for(int j=m; j<=n; j++) { if(issu[j]) printf("%d ",j); } return 0; } /*********************************測試資料********************************* **************************************************************************/