PAT乙級真題及訓練集 PAT (Basic Level) Practise (中文)1013. 數素數
阿新 • • 發佈:2018-12-08
令Pi表示第i個素數。現任給兩個正整數M <= N <= 104,請輸出PM到PN的所有素數。
輸入格式:
輸入在一行中給出M和N,其間以空格分隔。
輸出格式:
輸出從PM到PN的所有素數,每10個數字佔1行,其間以空格分隔,但行末不得有多餘空格。
輸入樣例:5 27輸出樣例:
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103
C語言程式碼:
#include<stdio.h> #include<math.h> int main() { int m,n,k; int i,j,p,count=0; int location=0; int prime[10000]={0}; scanf("%d %d",&m,&n); if((m<=n)&&(n<=10000)) { i=2; while(count<=n) { k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) break; } if(j>k) { prime[count++]=i;//count記錄素數個數 } i++; } for(p=m-1;p<n;p++) { printf("%d",prime[p]); location++;//location記錄輸出的個數 if(location%10==0) printf("\n"); else if(location==(n-m+1))//最後一個元素後不加空格 printf(""); else printf(" "); } } return 0; }