import java.util.Scanner; public class 数的划分 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int num=sc.nextInt(); int sum=0; int[][] dp=new int[num+1][num+1]; for (int i = 1; i <= num; i++) { for (int j = 1; j <= i; j++) { if (i==1||j==1) { dp[i][j]=1; } else { //数不能相同 所以i-j 避免数字相同 dp[i][j]=dp[i-j][j]+dp[i-1][j-1]; } sum+=dp[num][j]; } } System.out.println(sum); } }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:537 |
淘淘的名单 (C语言代码)浏览:1309 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:497 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:581 |
1392题解(大数相加)浏览:640 |
买不到的数目 (C语言代码)浏览:3134 |
10月月赛题解浏览:554 |
回文数(一) (C语言代码)浏览:1170 |
C二级辅导-计负均正 (C语言代码)浏览:664 |