#2141. 分割整数为若干和为 K 的部分
分割整数为若干和为 K 的部分
分割整数为若干和为 K 的部分
题目描述:
给定一个正整数 n 和一个目标数 k,找出所有可能的正整数数组,使得数组中的数字之和为 k,每个数字不大于 n,且允许重复选择。
输入格式: 一行两个整数 n,k。
输出格式: 若干行,每行表示一种可能的数组。
测试数据
输入样例
3 4
样例输出
1 1 1 1
1 1 2
1 3
2 2
输入样例
2 3
输入输出
1 1 1
1 2
解题思路
- 使用递归和回溯法生成所有的数组。
- 每次选择一个数字,继续递归直到组合和达到
k。 - 若和大于
k则终止该路径。 - 每个元素可以重复使用,因此每次递归从当前数字开始选择。