题意:一个小于100的正整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数。请问该数是多少?
from math import sqrt
for i in range(0, 100):
a = sqrt(i+100)
if type(a) == int:
b = sqrt(i + 268)
if type(b) == int:
print(i)
运行结果
F:\pythonTest\venv\Scripts\python.exe F:/pythonTest/Test/test.py
Process finished with exit code 0
正确答案应该为21,,但我不知道我写的逻辑或者代码哪里有问题,运行结果为空
sqrt(121) 并不是 int, 你的判断需要修改。
from math import sqrt
for i in range(0, 100):
a = sqrt(i+100)
if isinstance (a,int):
b = sqrt(i + 268)
if isinstance (b,int):
print(i)
#不过a,和 b是浮点类型 ,你应该这样写函数
python判断一个数是不是完全平方数
https://www.cnblogs.com/zlsjjn/p/7459607.html
这里我的python代码:
from math import sqrt
for n in range(1,100):
if int(sqrt(n+100)) ** 2 == n+100:
if int(sqrt(n+268)) ** 2 == n+268:
print(n)
nim语言版本
import math
for n in 1 .. 100:
var n100 = n + 100
var n268 = n100 + 168
if n100.float.sqrt.int ^ 2 == n100:
if n268.float.sqrt.int ^ 2 == n268:
echo n