题目:一个整数,它加上100后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少?
一、题目分析
首先假设该数为x,则x+100=y?,y为完全平方数。
然后加上168又是一个完全平方数,说明y+168=z?,z为完全平方数,用y=x+100代替得到:x+100+168=x+268=z?,经过穷举法可以得到:x=21,y=121=11^2,z=289=17^2
那么在代码当中,我们用的是穷举法,涉及到的函数为sqrt()函数,即平方根函数,sqrt(y),sqrt(z),sqrt(y)^2=x+100,sqrt(z)^2=x+268
x=1~100
二、代码实现
//C语言实现完全平方数计算【一题一策】第三期
#include <stdio.h>
#include <math.h>
int main(){
int x = 0;//求得的数
int y = 0;//第一个完全平方数,开方
int z = 0;//第二个完全平方数,开方
for(x = 0;x<=100;x++){
y = sqrt(x+100);
z = sqrt(x+268);
if(y*y==x+100&&z*z==x+268){
printf("%d",x);
}
}
}