PAT_B_1013 數素數 (20 分)【格式錯誤問題】【某個測試點未通過問題】
令 Pi 表示第 i 個素數。現任給兩個正整數 M≤N≤10^4,請輸出 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
#include <iostream>
#include <math.h>
using namespace std;
bool sushu(int n);
int main()
{
int m,n;
cin>>m>>n;
int count=0;
int row=1;
int i=2;
while(count<=n) //開始的時候用的是for 迴圈遍歷 10^4內的素數,題目理解問題
{
if(sushu(i))
{
count++;
if(count>=m)
{
if(count>n) break;
if(count<n) //最後一個數之後也不能有空格
{
if(row%10)
{
cout<<i<<" ";
}else
{
cout<<i<<endl;
}
++row;
}else{
cout<<i;
}
}
}
++i;
}
return 0;
}
bool sushu(int n)
{
int nn=sqrt(n);
for(int i=2;i<=nn;i++)
{
if(n%i==0) return false;
}
return true;
}