|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?
程序分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果。
for a in range(1, 10001):
for x in range(1, 10001):
for y in range(1, 10001):
if (a + 100) == x * x and (a + 268) == y * y:
print(a)
请问各位老师,我这样写的代码 有问题吗?
点了运行之后一直在运行,也不出结果,也不报错?
本帖最后由 冰封雪舞 于 2018-1-14 22:21 编辑
for a in range(1, 1000):
for x in range(10, 100):
for y in range(15, 100):
if (a+100) == x*x and (a+268)==y*y:
print(a)
把范围缩小验证了下,算出两个数
21
261
循环太多了,需要验证计算的次数太多,计算机都快罢工了,所以我给你写了个另外的简单点供参考希望对兄弟你有所帮助.
for a in range(1, 10001):
if int((a+100)**0.5) == (a+100)**0.5 and int((a+268)**0.5)==(a+268)**0.5:
print(a)
以上程序应该简单易懂吧,如有不明白的,请及时提出来。
|
|