codeup27932 百以内的素数
时空限制 1000ms/16MB
题目描述
编程求100以内的素数,并5个一行输出,每行数与数之间用一个空格隔开。
输入
无
输出
依题意
样例输入
样例输出
2 3 5 7 11
......
代码
法一:常规版本
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int k=0;
for (int i=2,j,t; i<=100; ++i){
t = sqrt(i);
for (j=2; j<=t; ++j)
if (i%j==0) break;
if (j>t){
k++;
if (k%5==0) cout<<i<<endl;
else cout<<i<<" ";
}
}
return 0;
}
法二:函数版本
#include<iostream>
#include<cmath>
using namespace std;
bool isprime(int x){
if (x<2) return false;
for (int i=2; i*i<=x; ++i)
if (x%i==0) return false;
return true;
}
int main(){
int k=0;
for (int i=1; i<=100; ++i)
if (isprime(i)){
++k;
if (k%5==0) cout<<i<<endl;
else cout<<i<<" ";
}
return 0;
}