PAT 1013 数素数
方法一
//
#include <iostream>
#include<math.h>
#include <iomanip>
#include<algorithm>
using namespace std;
int is_prime(int x)
{
int flag=1;
if(x<=1)
{
exit(0);
}
int temp=(int)sqrt(1.00*x);
for(int i=2;i<=temp;i++)
{
if(x%i==0)
{
flag=0;
break;
}
flag=1;
}
return flag;
}
int main(int argc, const char * argv[]) {
int m,n;
cin>>m;
cin>>n;
int count1=0;
int num=1;
int flag=0;
while(count1<n)
{
num++;
if(is_prime(num)==1)
{
count1++;
//cout<<"一会儿删掉:"<<num<<endl;
if(count1>=m )
{
if(count1==n)
{
cout<<num;
}
else
{
flag++;
if(flag%10==0)
{
cout<<num<<endl;
flag=0;
}
else
{
cout<<num<<" ";
}
}
}
}
}
return 0;
}
# 方法二
bool is_prime(int x)
{
if(x<=2)
{
return true;
}
else{
int sqr=(int)sqrt(1.0*x);
for(int i=2;i<=sqr;i++)
{
if(x%i==0)
return false;
}
return true;
}
}
int main(int argc, const char * argv[]) {
for(int i=1;i<20;i++)
{
if(is_prime(i)==1){
cout<<i<<",";
}
}
return 0;
}