//题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
//分析:定义整数i,完全平方数:a的平方等于b,b就是完全平方数 。a = sqrt(b);
//如果某数等于他的平方根的平方,那么他就是完全平方数(根据整数的平方根可能会四舍五入得出) (√)
//
#include<stdio.h>
#include<math.h>
int main(){
int i = -100, s1 , s2;
int j1 , j2;
printf("满足题意的数有:");
for( ; ; i++){
s1 = s2 = 0;
s1 = i + 100;
s2 = i + 268;
j1 = sqrt(s1);
j2 = sqrt(s2);
if(s1 == pow(j1 , 2) && s2 == pow(j2 , 2)){
printf("%5d",i);
}
}
}
【运行结果:】
满足题意的数有: -99 21 261 1581
疑问:虽然结果是对的,但是我找完全平方数的思路是否有漏洞?(“如果某数等于他的平方根的平方,那么他就是完全平方数”)
基本上都这么干的吧,没啥问题
能求出来不就好啦
要玩算法。来搞http://poj.org/
来打icpc
你的方法是可以的,也可以用我这个方法
#include<stdio.h>
#include<math.h>
int main(){
int i = -100, s1 , s2;
float j1 , j2;
printf("满足题意的数有:");
for( ; ; i++){
s1 = s2 = 0;
s1 = i + 100;
s2 = i + 268;
j1 = sqrt(s1);
j2 = sqrt(s2);
if( j1==(int)j1 && j2==(int)j2){
printf("%5d",i);
}
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632