#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

解题思路

  1. 使用递归和回溯法生成所有的数组。
  2. 每次选择一个数字,继续递归直到组合和达到 k
  3. 若和大于 k 则终止该路径。
  4. 每个元素可以重复使用,因此每次递归从当前数字开始选择。