1. 标题计算1到M(含M)之间的合数数量,输出其值。
输入说明:一个正整数M(M<10000)。
输出说明:输出合数的数量。
输入样例:12
输出样例:6
样例信息提示:每件产品A需要材料一3、材料二1、材料三2;每件产品B需要材料一5、材料二2、材料三2。目前库存材料一为30、材料二为4、材料三为6。采用生产A产品2件、B产品1件的生产方案,利润为350,达到利润最大值。
"""合数:除1和它本身之外还能被其他正整数整除"""
m = int(input())
n = 0
for i in range(4, m+1):
for j in range(2,int(i**0.5)+1):
if i % j == 0:
n += 1
break
print(n)
截图

n, m = map(int, input('输入两个整数m和n(0).split())
for i in range(n, m + 1):
e = i
su = 0
while e > 0:
su = (e % 10) ** 2 + su
e = e // 10
if su > i:
print(i, end=' ')
print()

"""0和非负整数m的最大公约数是m本身"""
m, n = map(int, input().split())
if m > n:
m, n = n, m
while True:
"""辗转相除法求最大公约数"""
r = m % n
if r == 0:
print('最大公约数:', n)
break
m =n
n =r

解法一:
st = input()
month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
le = len(st)
if le < 7:
print('2000Jan')
else:
i = 0
flag = False
while i < le:
if st[i].isdigit():
if st[i:i+4].isdigit() and st[i+4:i+7] in month:
print(st[i:i+7])
i += 6
flag = True
i += 1
else:
i += 1
if not flag:
print('2000Jan')
解法二
st = input()
month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
flag = False
for i in range(len(st)):
if st[i:i+3] in month:
if st[i-4:i].isdigit():
print(st[i-4:i+3])
flag = True
if not flag:
print('2000Jan')

num = int(input())
s = [0, 0, 0]
f = [0, 0, 0] # 序号
for i in range(num):
a = list(map(int, input().split()))
ss = abs((a[0] - a[2]) * (a[1] - a[3]))
if ss > s[0]:
s[0], s[1], s[2] = ss, s[0], s[1]
f[0], f[1], f[2] = i + 1, f[0], f[1]
elif ss > s[1]:
s[1], s[2] = ss, s[1]
f[1], f[2] = i + 1, f[1]
elif ss > s[2]:
s[2] = ss
f[2] = i + 1
print(f[2], ' ', s[2])

样例信息提示:每件产品A需要材料一3、材料二1、材料三2;每件产品B需要材料一5、材料二2、材料三2。目前库存材料一为30、材料二为4、材料三为6。采用生产A产品2件、B产品1件的生产方案,利润为350,达到利润最大值。
解法一
"""A,B产品的单件利润"""
Pa = 100
Pb = 150
"""手动输入A,B的三种材料使用量和材料库存"""
A = list(map(eval, input().split()))
B = list(map(eval, input().split()))
stock = list(map(eval, input().split()))
"""求出如果全部材料都制作A或者全部材料都用来制作B时能够制作A或B的数量"""
AS = min(stock[0] // A[0], stock[1] // A[1], stock[2] // A[2])
BS = min(stock[0] // B[0], stock[1] // B[1], stock[2] // B[2])
"""穷举法,从全部制作A到全部制作B都放到一个列表中,所有可能的结果"""
res = [(AS, 0), (0, BS)]
for i in range(1, AS):
for j in range(1, BS):
res.append((i, j)) # i最大不超过AS,j最大不超过BS.所以把所有情况插入表格
"""将A,B和其在对应数量下的利润插入到另一个表格"""
gain = []
for i in res:
gain.append((i[0], i[1], i[0] * Pa + i[1] * Pb))
"""打印出利润最大的一项"""
for i in max(gain, key=lambda x: x[2]):
print(i,end=' ')
print()
解法二(区别在于排序)
"""A,B产品的单件利润"""
Pa = 100
Pb = 150
"""手动输入A,B的三种材料使用量和材料库存"""
A = list(map(eval, input().split()))
B = list(map(eval, input().split()))
stock = list(map(eval, input().split()))
"""求出如果全部材料都制作A或者全部材料都用来制作B时能够制作A或B的数量"""
AS = min(stock[0] // A[0], stock[1] // A[1], stock[2] // A[2])
BS = min(stock[0] // B[0], stock[1] // B[1], stock[2] // B[2])
"""穷举法,从全部制作A到全部制作B都放到一个列表中,所有可能的结果"""
res = [(AS, 0), (0, BS)]
for i in range(1, AS):
for j in range(1, BS):
res.append((i, j)) # i最大不超过AS,j最大不超过BS.所以把所有情况插入表格
"""将A,B和其在对应数量下的利润插入到另一个表格"""
gain = []
for i in res:
gain.append((i[0], i[1], i[0] * Pa + i[1] * Pb))
"""对gain排序"""
sorted(gain, key=lambda x: x[2])
"""打印出利润最大的一项"""
for i in gain[-1]:
print(i, end=' ')
print()
解法三(区别在于没有列表)
"""A,B产品的单件利润"""
Pa = 100
Pb = 150
"""手动输入A,B的三种材料使用量和材料库存"""
A = list(map(eval, input().split()))
B = list(map(eval, input().split()))
stock = list(map(eval, input().split()))
"""求出如果全部材料都制作A或者全部材料都用来制作B时能够制作A或B的数量"""
AS = min(stock[0] // A[0], stock[1] // A[1], stock[2] // A[2])
BS = min(stock[0] // B[0], stock[1] // B[1], stock[2] // B[2])
"""穷举法,从全部制作A到全部制作B都计算出所有的利润,把利润最大的记录"""
ga = max([(AS, 0, AS*Pa), (0, BS, BS+Pb)], key=lambda x:x[2])
for i in range(1, AS):
for j in range(1, BS):
g = (i, j, i*Pa+j*Pb)
if g[2]>ga[2]:
ga = g
"""打印"""
for i in ga:
print(i, end=' ')
print()
