python练习3

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

方法一:

import math

# 打印出在10000范围内符合条件的值
for i in range(10000):
    m = int(math.sqrt(i + 100))
    n = int(math.sqrt(i + 100 + 168))
    if(m * m == i + 100 and n * n == i + 100 + 168)
        print(i)

方法二:

import math

# 判断该数值是否符合: x + 100 = m ** 2
def dataM(m):
    # 求得m的平方
    m = m ** 2
    # 获得该数值
    value = m - 100
    return value

# 判断该数值是否符合:x + 100 + 186 = n ** 2
def dataN(n):
    # 获得n的平方
    n = n + 100 + 168
    # 对n开方
    value = math.sqrt(n)
    # 判断n开方后是否为整数
    if(value == int(value)):
        return True
    return False


def func():
    # 确定m的值范围
    for s in range(1, 85):
        # 得到x的值
        x = dataM(s)
        # 判断n是否为整数
        if(dataN(x)):
            print(x)


if __name__ == "__main__":
    func()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值