


题1:给小朋友分糖,每人分到糖的数量不同,输入小朋友的数量,计算至少需要多少糖?
思路:第1个小朋友1颗糖,第2个小朋友2颗糖,第3个小朋友3颗糖,……第n个小朋友n颗糖,计算1+2+……+n的和即可。
第1种写法:不用Python高级函数
n = int(input())
r = 0
for i in range(1, n + 1):
r = r + i
print(r)
第2种写法:用Python高级函数
def splitcandy(n):
return sum(list(range(1,n+1)))
n = 10
print(splitcandy(n))
题2:韩信点兵
一队士兵,3个一数多2人,5个一数多3人,7个一数多2人,问总共有多少人?输入一个数字n,判断在1~n之间有多少满足要求的数字。
第1种写法:不用函数
n = int(input())
for i in range(n):
if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
print(i)
第2种写法:函数并数组输出
def hanxin(n):
ans = []
for i in range(n):
if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
ans.append(i)
return ans
题3:小明家里有很多不同的趣味书籍,有3个好朋友每人来借一本书(同一本书一次不能借给两个人)
任意输入书籍的数量n(3<=n<=100),输出在所有的书籍中,找3本书给3个人有多少种不同的排列组合方法。
【输入样例】 3 【输出样例】 6
排列组合问题
n = int(input())
print(n * (n - 1) * (n - 2))