第1个回答 2008-05-08
#include "stdio.h"
#include "math.h"
main()
{
unsigned int i,m;
for(i=4;i<=134;i++)
{
m=i*i;
if(sqrt((float)(m+168))==(int)(sqrt((float)(m+168))))printf("%u ",m-100);
}
}
这样应该可以了,答案是 21 261 1581
第2个回答 2008-05-08
程序如下:
#include "stdio.h"
#include "math.h"
main()
{
unsigned i;
for(i=4;i<65000;i++)
if(sqrt((float)(i+100))==(int)(sqrt((float)(i+100))))
if(sqrt((float)(i+100+168))==(int)(sqrt((float)(i+100+168))))
printf("%u\n",i);
getch();
}
在0~65000的范围内只有三个数:21 261 1581本回答被提问者采纳