【无标题】

蓝桥杯备战第三天——Python100题打卡第三天
题目一:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
分析:完全平方数的定义为,若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。
设该数为x,则最小必然为1
题目式子转换:
x+100=m^2
x+100+168 = n^2
所以:m2 - n2 = (m + n)(m - n) = 168
令m+n=i,m-n=j。则i,j之中至少有一个是偶数
所以: m = (i + j) / 2, n = (i - j) / 2
所以:i,j均为偶数
而 i * j = 168,j>=2
所以:1 < i < (168/2)+1

程序实现

"""
作者:溪子
语言:Python3
时间:2021/11/21
"""
for i in range(1, 85):  # 遍历i从1到85
    if 168 % i == 0:  # 判断i能否可被168整除
        j = 168 / i;
    if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0:
        m = (i + j) / 2
        n = (i - j) / 2
        x = n * n - 100
        print(x)

输出结果
-99.0
-96.0
-91.0
-84.0
-51.0
-19.0
0.0
21.0
44.0
69.0
96.0
125.0
156.0
189.0
261.0
300.0
341.0
384.0
429.0
476.0
525.0
629.0
684.0
741.0
800.0
861.0
924.0
989.0
1056.0
1125.0
1196.0
1269.0
1344.0
1421.0
1500.0
1581.0

题目二:输入某年某月某日,判断这一天是这一年的第几天?
分析:以11月22日为例,应该先把前11个月的加起来,然后再加上22天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天
程序实现

"""
作者:溪子
时间:2021/11/22
"""
# 输入任意年月日,知道是改年第几天

p = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]  # 平年
w = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]  # 闰年

year = int(input('年:\n'))
month = int(input("月:\n"))
day = int(input("日:\n"))

# 判断闰年,平年

if year % 100 == 0:
    if year % 400 == 0:
        d = w
    else:
        d = p
else:
    if year % 4 == 0:
        d = w
    else:
        d = p

# 计算天数

days = sum(d[0:month - 1]) + day
print("%d.%d.%d是%d年的第%s天。" % (year, month, day, year, days))

输出结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值