一个简单的完全平方数问题
#include//math库 #include int main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); //i+100的平方根 y=sqrt(i+268);//i+268的平方根 if(x*x==i+100&&y*y==i+268)//判断平方根是否为整数 printf("n%ldn",i);//打印结果 } return 0; }
本例所求的是一个数加上100和268都能正好开出整数平方根(1~10000)。利用一个简单的for循环遍历1~10000.使用math库中的sqrt来求平方根。再利用一个if判断,如果x*x,y*y恰好等于i+100,i+268那么说明这个i符合条件。运行结果如下:
21 261 1581 -------------------------------- Process exited after 0.7285 seconds with return value 0 请按任意键继续. . .
可以看出有三个i符合条件。



