1. 程式人生 > >1013 數素數 (20 分)

1013 數素數 (20 分)

msu 註意 end lse str -html 整數 16px -h

P?i?? 表示第 i 個素數。現任給兩個正整數 MN10?4??,請輸出 P?M?? 到 P?N?? 的所有素數。

輸入格式:

輸入在一行中給出 M 和 N,其間以空格分隔。

輸出格式:

輸出從 P?M?? 到 P?N?? 的所有素數,每 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

分析:這個題註意給的數字是第幾個素數,而不是從M到N中找素數,再有就是格式問題。
 1
#include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 int main() 7 { 8 int x,y; 9 cin>>x>>y; 10 int s=0; 11 int k=0,a[10000]; 12 for(int i=2;k<=y;i++) 13 { 14 int flag=0
; 15 for(int j=2;j<=sqrt((double)i);j++) 16 { 17 if(i%j==0) 18 { 19 flag++; 20 break; 21 } 22 } 23 if(!flag) 24 a[k++]=i; 25 } 26 for(int i=x-1;i<y;i++) 27 { 28
s++; 29 if(s==10) 30 { 31 cout<<a[i]<<endl; 32 s=0; 33 } 34 else if(i!=y-1) 35 cout<<a[i]<< ; 36 else 37 cout<<a[i]; 38 } 39 }

1013 數素數 (20 分)