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语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1335 |
人见人爱A+B (C语言代码)浏览:628 |
简单的a+b (C语言代码)浏览:340 |
IP判断 (C语言描述,蓝桥杯)浏览:1095 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:373 |
【亲和数】 (C语言代码)浏览:600 |
小九九 (C语言描述,不看要求真坑爹)浏览:985 |
C二级辅导-阶乘数列 (C语言代码)浏览:521 |
陈教主的三角形 (C语言代码)浏览:1143 |
字符删除 (C语言代码)浏览:721 |