【问题描述】给出一个范围[m,n],要求输出 [m,n]范围之内的所有素数。所谓素数是指只能被1和自身整除的数。
【输入形式】输入两个正整数m和n,其中m>2且m<n。
【输出形式】输出[m,n]之间的素数。
【样例输入1】20 40
【样例输出2】
23
29
31
37
【样例输入1】70 90
【样例输出2】
71
73
79
83
89
#include <stdio.h>
char a[10000];
int main()
{
int m, n;
scanf("%d%d", &m, &n);
for (int i = 0; i <= n; i++)
a[i] = 0;
for (int i = 2; i <= n; i++)
{
if (a[i])
{
continue;
}
if(i>=m)
printf("%d\n", i);
for (int j = 2; i * j <= n; j++)
{
a[i * j] = 1;
}
}
return 0;
}
等我下课回宿舍用电脑打给你😀
供参考:
#include <stdio.h>
int IsPrime(int x)
{
int j;
if(x <= 3) return x > 1;
for(j=2;j*j <= x;j++)
if((x%j)==0) return 0;
return 1;
}
int main()
{
int m,n,i;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
if(IsPrime(i))
printf("%d\n",i);
return 0;
}
#include<stdio.h>
isprm(int n)
{
if(n<2) return 0;
for(int j=2; j*j<n; j++)
if(n%j==0)
return 0;
return 1;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
for(int j=m; j<=n; j++)
{
if(isprm(j)) printf("%d\n",j);
}
return 0;
}