题目:一个数,加上100后是一个完全平方数,再加上一个168又是另一个完全平方数,求问这个数是多少?
分析 :
1.完全平方数:可以开方的数--需要
--平方数=sqrt (x+100)or(x+268) 2.设这个数为x
3.x+100=m(m为完全平方数)
4.x+100+168=m+168=n(n完全平方数)
5.需要使用循环遍历,且需要判断开出来的数是不是整数
(计算机应该是在一个一个数试的过程,所有开方过程可能存在不是整数的过程)
6.循环可以使用for,while等语句(一般情况已知循环次数用for,未知循环次数用while)
7.
for 语句 for( 变量初始化的值;循环条件即变量范围;修改循环变量的值++,--){ 循环体; } while语句 while(循环条件){ 循环体; }8.这道题的循环体应该是 这个数(因为不知道这个数是什么,所以只好一个一个试喽)
9.判断时候是不是= 应该是==
for语句
#include#include int main(){ int x,m,n; for(x=1;x<200;x++){ m=sqrt(x+100); n=sqrt(x+268); if(m*m==x+100 && n*n==x+268){ printf("这个数是:%dn",x); } } }
while语句
注:在使用while时,其中的if判断语句后面的printf与x++不能用大括号包起来!!!
#include#include int main(){ int x=1,m,n; while(1){ m=sqrt(x+100); n=sqrt(x+268); if(m*m==x+100 && n*n==x+268) printf("这个数是:%dn",x); x++; } }



