pat乙级1013数素数

pat乙级1013数素数
本题考查的是素数的问题,我刚开始想用筛选法做,发现太难了,走了极大的弯路,干脆直接暴力枚举,简单快捷,当然这只是我能想到的最简单的办法,肯定有大牛比我厉害啦,哈哈。(刚开始输出格式搞错,pat对输出格式的要求还是很高的)

#include<iostream>
using namespace std;
#include<math.h>
#define maxsize 1000000
/*判断素数*/
bool isprime(int n)
{
	if(n==2 || n==3)
		return true;
	int a = sqrt(n);	
	for(int i=2;i<=a;i++){
		if(n%i == 0)
			return false;
	}
	return true;
}


int main()
{
	int n,m,num=0,count=0;
	cin>>n>>m;
	for(int i=2;i<maxsize;i++)
	{
		
		if(isprime(i))
		{
			num++;
			if(num>m)
				return 0; //打印到了第m个素数直接退出 
			if(num>=n)
			{
				if(count==0)
				{
					cout<<i;
					count++;
				}	
				else
				{
					cout<<" "<<i;
					count++;
				}
			   if(count>0 && count%10 == 0)  
			   //注意要换行 而且是count>0时,这里每输出一行把count置0
		   		{
					cout<<endl;
					count=0;
		   		}
			}
				
     	}
    }
	
	
	return 0;
 }