一个简单的完全平方数问题
#include <math.h>//math库
#include <stdio.h>
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%ld\n",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符合条件。