编写程序计算并输出2到正整数n之间的所有素数。
输入格式:
输入只有一个正整数n。
输出格式:
2到n之间的所有素数。例如,如果n为100,则应在一行里输出
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
注意:行首和行尾不能有多余的空格
输入样例:
在这里给出一组输入。例如:
20
输出样例:
在这里给出相应的输出。例如:
2 3 5 7 11 13 17 19
自己写的
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,i=2,j=2;
scanf("%d",&n);
printf("2");
do
{
for(i=2;i<j/i;i++)
{
if(j%i==0)
{
break;
}
}
if(j%i!=0)
{
printf(" %d",j);
}
j++;
n--;
}while(n>2);
return 0;
}
老师写的
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,count=0;
scanf("%d", &n);
for (int i = 2; i <= n; i++)
{
int flag = 0;
for (int j = 2; j * j <= i; j++)
{
if (i % j == 0)
{
flag++;
break;
}
}
if (flag == 0)
{
count++;
if (count == 1)
{
printf("%d", i);
}
else
printf(" %d", i);
}
}
return 0;
}