打印整数划分
来源:互联网 发布:传奇地图编辑器软件 编辑:程序博客网 时间:2024/06/05 17:55
整数的分划问题。
如,对于正整数n=6,可以分划为:
6
5+1
4+2, 4+1+1
3+3, 3+2+1, 3+1+1+1
2+2+2, 2+2+1+1, 2+1+1+1+1
1+1+1+1+1+1+1
现在的问题是,对于给定的正整数n,编写算法打印所有划分。
用户从键盘输入 n (范围1~10)
程序输出该整数的所有划分。
#include<stdio.h>int a[10]={0}; int len = 0; void fun(int n,int m){ if(n==0){ //所求数已被全部分划 printf("%d",a[0]); for(int i=1;i<m;++i) {printf("+%d",a[i]);} if(m > len){ printf("\n"); //到每行最后一列长度m都为len+1,此时应换行 ++len; } else printf(","); return; } for(int i=n;i>=1;--i){//按从大到小的顺序划分整数 if(m==0||i<=a[m-1]) {//右边的数不能大于左边的数 a[m]=i; fun(n-i,m+1); } } } int main() { int n,m=0; scanf("%d",&n); //输入要被划分的数字 fun(n,m); //递归的方法打印所有的整数分划 return 0; }
0 0
- 打印整数划分
- 打印整数划分
- 打印整数的划分方法
- 蓝点杯 打印整数划分问题
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 整数划分
- 开始我的博客之旅
- AAC ADTS格式分析
- Python学习计划(1)
- 【网页设计】行业文字规范你知道吗?太原UI设计师讲
- 单例模式定义与使用
- 打印整数划分
- 关于LGame项目结构分析
- 六、Drawable
- 19. UDP 编程
- 安卓静态Fragment与动态Fragment的理解
- 给定两个已排序的表L1和L2 只使用基本的表操作编写计算L1∩L2的过程 交集
- Codeforce 327D 二分
- 圆与圆
- HIVE的内部表和外部表