
就是从1到n-的值进行遍历,n*n-i*i的值开根号,如果开根号的值与该值进行取整后的值相等(说白了就是没有小数部分的话)这个值就是个完全平方数。以下代码已测试,与题中结果一致
#include<stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
for(int i=950;i<=1000;i++)
{
for(int j=1;j<i;j++)
{
int d = i*i-j*j;
float f = sqrt(d*1.0);
if(f==(int)f)
{
printf("%d ",i);
break;
}
}
}
}