输出n, m并输出300以内序号为m到n的所有素数。
输入 m,n吧?怎么会输出呢?就是300以内的第n到第m个素数呗?包含m和n吗?
#include <stdio.h>
int isprime(int n)
{
for(int i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}
int main()
{
int n,m,i,count=0;
scanf("%d%d",&n,&m);
for(i=2;i<=300;i++)
{
if(isprime(i))
{
count++;
if(count >= m && count <=n)
printf("%d ",i);
if(count == n)
break;
}
}
return 0;
}
代码如下:
#include <stdio.h>
int prime(int n)
{
int i = 2;
if(n<2) return 0;
for (i=2;i<n;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int m,n,t,i;
scanf("%d%d",&m,&n);
if(m>n)
{
t = m;
m = n;
n = t;
}
//m-n的300以内的素数
for (i=m;i<=n && i <300;i++)
{
if(prime(i))
printf("%d ",i);
}
return 0;
}