以下3题均采用多组输入:
1.1 输出所有小于等于n(n为一个大于2的正整数)的素数,每行输出10个,尽可能采用较优的算法
源代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
int i,j,k;
int num;
while(cin>>n)
{
num=0;
for(i=2;i<=n;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
{
if(i%j==0)
{
break;
}
}
if(j>=k+1)
{
cout<<i;
num++;
if(num%10==0)
{
cout<<endl;
}
else
{
cout<<" ";
}
}
}
cout<<endl;
}
return 0;
}