将数字N拆分为K个不同的数字
说明:
将数字N拆分为K个不同的数字一共有多少种不同的方法?
Java代码模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public class 数字拆分 {
public static void main(String[] args) { System.out.println(slove(2022,10)); }
public static long slove(int num,int k){ long bp[][] = new long[num+1][k+1]; bp[0][0]=1; for(int i =1 ; i <= num ; ++i){ for(int j =1; j <=k ; ++j){ if(i>=j) bp[i][j] = bp[i-j][j] + bp[i-j][j-1]; } }
return bp[num][k]; } }
|