P07254. 数字的拆分之一
将数字N分成2份以上.使用的数字不可重复.例如5=1+4=2+3,就只有两种拆分的方式.输入: 每一行给出一个数字N,3<=N<=500.整个测试以0代表结束.
输入
本题有多组数据,整个测试以数字零代表结束
输出
输出有多行,每行一个数字,代表拆分的种数.
样例
输入复制
3
5
0
输出复制
1
2
Sol1:
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 | #include<bits/stdc++.h> using namespace std; long long f[510][510]; int main() { int n; f[0][0]=1; for ( int i=1; i<=6; i++) { for ( int j=0; j<=6; j++) { f[i][j]=f[i-1][j]; if (j>=i) f[i][j]+=f[i-1][j-i]; //cout<<i<<" "<<j<<" "<<f[i][j]<<endl; } } while (cin>>n) { if (n==0) return 0; cout<<f[n][n]-1<< "\n" ; } return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <bits/stdc++.h> #define int unsigned long long using namespace std; const int N=550; int n,f[N]; signed main() { while (scanf( "%lld" ,&n)&&n){ memset(f,0, sizeof (f)); f[0]=1; for ( int i=1;i<n;i++) for ( int j=n;j>=i;j--) f[j]=(f[j]+f[j-i]); printf( "%lld\n" ,f[n]); } return 0; } |
P07255. 数字的拆分之二
Description
将数字N进行拆分.拆分出来的数字可以重复使用.
Format
Input
每一行给出一个数字N,3<=N<=500.整个测试以0代表结束.
Output
拆分的种数.
Samples
输入数据 1
3
0
输出数据 1
3
说明: 3=3,3=1+1+1,3=1+2。
状态
阶段 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
1 |
2 |
2 |
3 |
3 |
4 |
4 |
3 |
1 |
1 |
2 |
3 |
4 |
5 |
7 |
8 |
4 |
1 |
1 |
2 |
3 |
5 |
6 |
9 |
11 |
5 |
1 |
1 |
2 |
3 |
5 |
7 |
10 |
13 |
6 |
1 |
1 |
2 |
3 |
5 |
7 |
11 |
14 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include<bits/stdc++.h> using namespace std; long long f[510][510]; int main() { int n; f[0][0]=1; for ( int i=1; i<=500; i++) { for ( int j=0; j<=500; j++) { f[i][j]=f[i-1][j]; if (j>=i) f[i][j]+=f[i][j-i]; //cout<<i<<" "<<j<<" "<<f[i][j]<<endl; } } while (cin>>n) { if (n==0) return 0; cout<<f[n][n]<< "\n" ; } return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include<bits/stdc++.h> using namespace std; int w[505]; int main() { int n; memset(w,0, sizeof (w)); while (cin>>n && n!=0) { w[0]=1; for ( int i=1;i<=n;i++) for ( int j=i;j<=n;j++) w[j]+=w[j-i]; cout<<w[n]<<endl; } return 0; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现