解题思路:排列组合类型的题目只要数据量不是很大,基本用自带的函数就行了
注意事项:注意本题可以重复取一个值,所以用itertools.combinations_with_replacement
参考代码:
import itertools
k = int(input())
for i in range(k) :
m, n = map(int, input().split())
lst = [i for i in range(m + 1)]
lst_sum = []
for data in list(itertools.combinations_with_replacement(lst, n)) :
data = list(data)
if sum(data) == m :
data.sort()
if data not in lst_sum :
lst_sum.append(data)
print(len(lst_sum))
0.0分
4 人评分
数组输出 (C语言代码)错误???浏览:577 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:559 |
【亲和数】 (C语言代码)浏览:519 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:894 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:683 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:572 |
循环入门练习5 (C语言代码)浏览:865 |
单词个数统计 (C语言代码)浏览:1017 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:641 |
字符逆序 (C语言代码)浏览:518 |