看一下这个循环的问题,怎么在循环里只输出一个no啊,急!
题目完全数是这样一个整数,它加上100后是一个完全平方数,它加上268也是一个完全平方数。编程程序求出m,n之间所有完全数(包括m和n),其中n>m。
输入形式:输入一行,包括整数m和n。
输出形式:输出一行,输出m与n间的所有完全数,各数之间以空格分隔。若没有,则输出no。
样例输入:1 10000
样例输出: 21 261 1581
下面是我的代码
#include<stdio.h>
#include<math.h>
int main()
{
int m,i,n;
double k1,k2;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
k1=sqrt(i+100);
k2=sqrt(i+268);
if((fabs(k1-(int)k1)<1e-6)&&(fabs(k2-(int)k2)<1e-6))
printf(" %d",i);
}
return 0;
}
主体部分已经搞完了,就卡在那个输出一个no那个地方了,循环里怎么才能让它只输出一个no啊
救救孩子ba