大佬们看一下我这个程序 运行时没有错误的但是好像限制条件有问题。不知道是哪里出的,我自己认为把非素数的条件考虑完全了但是测试数据还是不对。
问题描述
编程程序求出m,n之间所有素数(包括m和n),其中n>m。
输入形式
输入一行,包括整数m和n。
输出形式
输出一行,输出m与n间的所有素数,各数之间以空格分隔。若无素数,则输出no。
样例输入
1 10
样例输出
2 3 5 7
有一个测试数据是要输出no,但是我输出的是空值。
#include<stdio.h>
#include<math.h>
int main()
{ int a,b,n,k,i;
scanf("%d%d",&a,&b);
if(a>=b||a<1)
printf("no");
else
{
if(a==1)
a=2;
for(n=a;n<=b;n++)
{
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)
{
printf("%d ",n);
}
}
}
printf("\n");
return 0;
}