
前言:
本人因喜欢python和c语言等程序设计语言,希望能够在这里和大家共同学习共同进步。
因个人喜好喜欢做题,所以想出一个系列专栏关于python的习题专集,希望大家喜欢。
希望能在这里分享学习的一些知识碎片,接触时间不长,如果文章有任何错误,欢迎大家指正。
如果喜欢我的文章还请大家不吝动手给我点赞收藏关注哦,留下你来过的足迹,让我眼熟你。
第六题 求一个整数,他加上100后是一个完全平方数,再加上168又是一个完全平方数。 请问该数是多少?
要求:
1.这个整数加上100后是一个完全平方数,再加上168又是一个完全平方数。
可以先自己看要求写出程序,然后看提示及答案,更有助于提高自己。
提示:1.完全平方数开根号后在平方还是其本身,如
2.而非完全平方数取整后平方不是其本身。
import math
def fact(m,n):
for i in range(1,200):
a = int(math.sqrt(i+m))
b = int(math.sqrt(i+n))
if a*a==i+m and b*b==i+n:
return i
res = fact(m,n)
print(res)
不用 def 也可以求
import math
m = 100
n = 168
for i in range(1,200):
a = int(math.sqrt(i+m))
b = int(math.sqrt(i+n))
if a**2==i+m and b**2==i+n:
print(i)
break
以上均应用for循环,下面尝试用while循环
import math
def fact(m,n):
x = 0
while(1):
a = int(math.sqrt(x+m))
b = int(math.sqrt(x+n))
if a*a==x+m and b*b = x+n:
return x
x +=1
res = fact(100,168)
print(res)
保存并运行程序,结果如下所示:
>>>156
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)