题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
问题分析: 在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果。
网友源码:
import math
for i in range(10000):
#转化为整型值
x = int(math.sqrt(i + 100))
y = int(math.sqrt(i + 268))
if(x * x == i + 100) and (y * y == i + 268):
print i个人运行代码:
>>> import math
>>> for i in range(10000)
SyntaxError: invalid syntax
>>> for i in range(10000):
x = int(math.sqrt(i + 100)):
SyntaxError: invalid syntax
>>> for i in range(10000):
x = int(math.sqrt(i + 100))
y = int(math.sqrt(i + 268))
if(x * x == i + 100) and (y * y == i + 268)
SyntaxError: invalid syntax
>>> for i in range(10000):
x = int(math.sqrt(i + 100))
y = int(math.sqrt(i + 268))
if(x * x == i + 100) and (y * y == i + 268):
print i
SyntaxError: invalid syntax
>>> for i in range(10000):
x = int(math.sqrt(i + 100))
y = int(math.sqrt(i + 268))
if(x * x == i + 100) and (y * y == i + 268):
print (i)
21
261
1581
>>>
语法总结:
1. 在for,if语句后面需要添加:
2. math数据包调用时候要提前引入:import math
3. 对变量强制转换时候要对后面的式子加(),而不是前面的转化类型,这点要与java区分开来
4. if 连接两个条件的时候,不用大括号,直接用and 或者or
5. 打印务必加()