7-37 整数分解为若干项之和 (20 分)

将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。

输入格式:

每个输入包含一个测试用例,即正整数N (0<N≤30)。

输出格式:

按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N1​={n1​,n2​,⋯}和N2​={m1​,m2​,⋯},若存在i使得n1​=m1​,⋯,ni​=mi​,但是ni+1​<mi+1​,则N1​序列必定在N2​序列之前输出。每个式子由小到大相加,式子间用分号隔开,且每输出4个式子后换行。

输入样例:

7

输出样例:

7=1+1+1+1+1+1+1;7=1+1+1+1+1+2;7=1+1+1+1+3;7=1+1+1+2+2
7=1+1+1+4;7=1+1+2+3;7=1+1+5;7=1+2+2+2
7=1+2+4;7=1+3+3;7=1+6;7=2+2+3
7=2+5;7=3+4;7=7
#include<iostream>
#include<cstdio>
using namespace std;
int cnt ,n ,a[30];
void dfs(int num ,int location ,int sum)
{if (sum == n) {cnt++;printf("%d=" ,n);for (int i = 0; i < location; i++) {if (i != 0) cout << "+";cout << a[i];}if ((cnt % 4 == 0) && (cnt != 0))putchar(10);else if (num != n)printf(";");return ;}if (sum > n)return ;if (sum < n) {for (int i = num; i <= n; i++) {a[location] = i;dfs (i ,location + 1 ,sum + i);}}
}
int main() {cin >> n;dfs (1 ,0 ,0);return 0;
}

7-37 整数分解为若干项之和 (20 分)(dfs)相关推荐

  1. 7-14 整数分解为若干项之和 (15分)(附详细讲解(不用递归的高效算法))

    将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,-.编程求出正整数N的所有整数分解式子. 输入格式: 每个输入包含一个测试用例,即正整数N (0&l ...

  2. 整数分解为若干项之和

    7-37 整数分解为若干项之和 (20 分) 将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,-.编程求出正整数N的所有整数分解式子. 输入格式: ...

  3. 7-37 整数分解为若干项之和(20 分)

    7-37 7-37 整数分解为若干项之和(20 分) 将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,-.编程求出正整数N的所有整数分解式子. 输入 ...

  4. 整数分解成若干项之和(DFS)拓展延伸

    在深度优先搜索的例题中,有一种题型是整数分解成若干项之和. 例如将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=1+6,7=2+5,7=1+1+5,-.编程求出正整数N的所有整数分解式 ...

  5. 整数分解为若干项之和python_SVD奇异值分解及Python实例

    1. 普通方阵的矩阵分解(EVD) 我们知道如果一个矩阵 A 是方阵,即行列维度相同(mxm),一般来说可以对 A 进行特征分解: 其中,U 的列向量是 A 的特征向量,Λ 是对角矩阵,Λ 对角元素是 ...

  6. 史上最全的整数分解方法(包含经典的分苹果问题)

    [华为OD机试真题 2022&2023]真题目录 @点这里@ [华为OD机试真题]信号发射和接收 &试读& @点这里@ [华为OD机试真题]租车骑绿道 &试读& ...

  7. 分解连续自然数的和_将整数分解为连续自然数之和

    将一个正整数,拆分成连续的自然数之和,输出所有可能的情况 例如: 3 = 1+2 10 = 1+2+3+4 18 = 5+6+7 偶然见到这个问题,这里写下自己的解法. 分析: 对给定整数x以及一组满 ...

  8. 形如:1/a 的分数称为单位分数。可以把1分解为若干个互不相同的单位分数之和。

    形如:1/a 的分数称为单位分数.可以把1分解为若干个互不相同的单位分数之和. 例如: 1 = 1/2 + 1/3 + 1/9 + 1/18 1 = 1/2 + 1/3 + 1/10 + 1/15 1 ...

  9. 形如:1/a 的分数称为单位分数。 可以把1分解为若干个互不相同的单位分数之和。 例如: 1 = 1/2 + 1/3 + 1/9 + 1/18 1 = 1/2 + 1/3 + 1/10 + 1/1

    形如:1/a 的分数称为单位分数. 可以把1分解为若干个互不相同的单位分数之和. 例如: 1 = 1/2 + 1/3 + 1/9 + 1/18 1 = 1/2 + 1/3 + 1/10 + 1/15 ...

最新文章

  1. 在C#中使用SerialPort类实现串口通信
  2. java使用Jxl和Poi读写Excel
  3. java五子棋悔棋代码_小猿圈前端编写JS五子棋游戏
  4. Kaggle 首战拿银总结 | 入门指导 (长文、干货)
  5. Tomcat 7 自动加载类及检测文件变动原理
  6. vue动态点击切换css样式且子元素动态显示和隐藏
  7. 第四次作业——测试作业
  8. 串口接收数据转换成double型
  9. 终止一切网上销售和广告?电子烟悦刻天猫旗舰店却仍可购买
  10. linux 优化 sysctl.conf,Linux内核sysctl.conf的优化设置
  11. python导入数据库的数据怎么在qt界面里刷新_Python中使用pyqtgraph库实现数据可视化之逐点刷新波形图...
  12. php mvc 实现,php mvc的简单实现
  13. 《Cacti实战》——2.3 Cacti的安装与配置
  14. 分享最新36款高质量免费英文字体
  15. 中国的程序员培训是不是有问题?
  16. 使用rufus制作windows系统安装u盘
  17. 免费下载的音乐的6个网站,非常实用!
  18. 阿里云 OSS + CDN 部署静态网站配置
  19. 纯电动整车控制器-基于模型的开发
  20. 记录贴/阴阳师core loop

热门文章

  1. phpcms attachment.class.php路径,解决phpcms上传不了图片的方法
  2. matlab 下采样_Lattice规划与Matlab实现(1)
  3. android华为虚拟截屏黑屏,Android截屏表面视图显示黑屏
  4. hibernate mysql 配置文件_hibernate 框架的配置文件和映射文件以及详解
  5. 问题:连接查询和子查询的区别和连接及优劣?
  6. 你准备好了吗,江湖来了
  7. js中 var a= b || c;
  8. main.c(53): error: #268: declaration may not appear after executable statement in block
  9. Android开发学习之TabView选项卡具体解释 -- 基于Android4.4
  10. 数据库之MySQL补充