当前位置:首页 > 实验代码 > 正文内容

python完全平方数

千帆2个月前 (12-24)实验代码458

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:


n=0

while (n+1)**2-n*n<=168:

    n+=1


print(n+1)

 

思路是:最坏的结果是n的平方与(n+1)的平方刚好差168,由于是平方的关系,不可能存在比这更大的间隙。

至于判断是否是完全平方数,最简单的方法是:平方根的值小数为0即可。

结合起来:


n=0

while (n+1)**2-n*n<=168:

    n+=1


for i in range((n+1)**2):

    if i**0.5==int(i**0.5) and (i+168)**0.5==int((i+168)**0.5):

        print(i-100)

扫描二维码推送至手机访问。

版权声明:本文由千帆生活网发布,如需转载请注明出处。

本文链接:http://tzshw.com/?id=187

分享给朋友:

“python完全平方数” 的相关文章

文本框只允许输入数字的控制方法

onKeyUp="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"...

修改sql数据库名称

EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE' EXEC sp_renamedb 'OldDbName', 'NewDbName' EXEC s...

Python随机数生成

# 生成 0 ~ 9 之间的随机数''' 此处为多行注释:导入 random(随机数) 模块,使用了 random 模块的 randint() 函数来生成随机数,你每次执行后都返回不同的数字(0 到 9)该函数的语法为:random.randint(a,b)''...

Python输出指定范围内的素数

# 输出指定范围内的素数# take input from the userlower = int(input("输入区间最小值: "))upper = int(input("输入区间最大值: "))for num in range(lower,upper +...

Python计算每个月天数

import calendar'''输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),第二个元素是这个月的天数。以上实例输出的意思为 2016 年 9 月份的第一天是星期四,该月总共有 30 天。'''monthRange = c...

Python清空列表

RUNOOB = [6, 0, 4, 1]print('清空前:', RUNOOB)RUNOOB.clear()print('清空后:', RUNOOB)'''以上实例输出结果为:清空前: [6, 0, 4, 1]清空后: []'...