解题思路:
注意事项:
参考代码:
import java.util.Scanner;
public class llq1{
static int[][]dp=new int[110][110];//dp[i][j]表示,i分成的数最高不超过j的情况数
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n=s.nextInt();
for(int i=0;i<=n;i++) {
dp[i][1]=1;
dp[0][i]=1;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++) {
if(j<=i) {
dp[i][j]=dp[i][j-1]+dp[i-j][j];
}else {
dp[i][j]=dp[i][i];
}
}
System.out.println(dp[n][n]);
}
}
0.0分
0 人评分
点我有惊喜!你懂得!浏览:3885 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:775 |
C语言训练-斐波纳契数列 (C语言代码)浏览:785 |
C语言训练-阿姆斯特朗数 (C语言代码)浏览:851 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
printf基础练习2 (C语言代码)浏览:567 |
C语言训练-求素数问题 (C语言代码)浏览:1453 |
九宫重排 (C++代码)浏览:2160 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:595 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:585 |