本题要求输出2
到n
之间的全部素数,每行输出10
个。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
输入格式:
输入在一行中给出一个长整型范围内的整数。
输出格式:
输出素数,每个数占6位,每行输出10个。如果最后一行输出的素数个数不到10个,也需要换行。
输入样例:
10
输出样例:
2 3 5 7
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
#include<math.h>
int qiu_sushu(int x)// flag为1是质数 0为非质数
{
int flag = 1;
if (x == 1)
flag = 0;
else
{
for (int m = 2; m <= sqrt(x); m++)
{
if (x % m == 0)
{
flag = 0;
break;
}
}
}
return flag;
}
int main()
{
// i 为存储2到n的循环变量
int i, n;
int count = 0;
scanf("%d", &n);
for (i = 2; i <= n; i++)
{
if (qiu_sushu(i) == 1)
{
printf("%6d", i);
count++;
}
if (count == 10)
{
count = 0;
printf("\n");
}
}
return 0;
}