2026-03-24,提交
三道作业题目:
1. 计算 1² + 2² + 3² + … + n² 输入 n,计算前 n 个正整数的平方和。
2. 求满足条件的数 输出 100~999 之间所有个位数大于十位数、且十位数大于百位数的递增数。(如 123、135、246 等)
3. 鸡兔同笼 输入头数 h 和脚数 f,穷举法求出鸡和兔各多少只。如果无解则输出"无解"。
"""
1. 计算 1² + 2² + 3² + … + n²** 输入 n,计算前 n 个正整数的平方和
"""
n = int(input("请输入正整数n:"))
sum=0
for i in range(1,n+1):
sum+=i*i
print(f"前 n 个正整数的平方和:{sum}")
运行结果

image.png
"""
2. 求满足条件的数
输出 100~999 之间所有个位数大于十位数、且十位数大于百位数的递增数。
(如 123、135、246 等)
"""
for i in range(100,1000):
if (i%10 > i%100//10) and (i%100//10 > i//100) :
print(f"递增数有:{i}")
运行结果

image.png
"""
3. 鸡兔同笼
输入头数 h 和脚数 f,穷举法求出鸡和兔各多少只。
如果无解则输出"无解"。
"""
h=int(input("输入头数:"))
f=int(input("输入脚数:"))
"""
我从头数来入手,以鸡头为中心来破解,假设鸡i头,那么兔h-i头.
可以知道,鸡头数量的范围是0~h
"""
# 鸡头i
# 采用标记法,让无解的情况,有个状态我可以判断输出
is_tag=False
for i in range(0,h+1):
if (f-i*2)%4==0 and float(h-i)==(f-i*2)/4:
print(f"鸡有:{i}只,兔有:{h-i}只")
is_tag=True
break
if is_tag==False:
print("无解")
运行结果

image.png