给你两个正整数 n 和 k。
一个 有效序列 是一个由 k 个正整数组成的序列,满足以下条件:
n。返回有效序列的数量。由于答案可能很大,请将其对 109 + 7 取余 后返回。
如果两个序列在任何下标处不同,则认为它们是 不同 的序列。例如,[1, 1, 2] 和 [1, 2, 1] 被认为是不同的序列。
示例 1:
输入: n = 5, k = 3
输出: 3
解释:
长度为 k = 3 且和为 5 的序列有:
| 序列 | 乘积 | 奇偶性 |
|---|---|---|
[1, 1, 3] | 1 * 1 * 3 = 3 | 奇数 |
[1, 2, 2] | 1 * 2 * 2 = 4 | 偶数 |
[2, 1, 2] | 2 * 1 * 2 = 4 | 偶数 |
[2, 2, 1] | 2 * 2 * 1 = 4 | 偶数 |
[1, 3, 1] | 1 * 3 * 1 = 3 | 奇数 |
[3, 1, 1] | 3 * 1 * 1 = 3 | 奇数 |
有 3 个序列的乘积是偶数,因此答案是 3。
示例 2:
输入: n = 3, k = 2
输出: 2
解释:
长度为 k = 2 且和为 3 的序列有:
| 序列 | 乘积 | 奇偶性 |
|---|---|---|
[1, 2] | 1 * 2 = 2 | 偶数 |
[2, 1] | 2 * 1 = 2 | 偶数 |
有 2 个序列的乘积是偶数,因此答案是 2。
示例 3:
输入: n = 5, k = 5
输出: 0
解释:
长度为 k = 5 且和为 5 的唯一可能序列是 [1, 1, 1, 1, 1],它的乘积是奇数。因此,答案是 0。
提示:
1 <= n <= 5 * 1051 <= k <= n