当前位置: 首页 > news >正文

题解:洛谷 P2404 自然数的拆分问题

【题目来源】

洛谷:P2404 自然数的拆分问题 - 洛谷

【题目描述】

任何一个大于 \(1\) 的自然数 \(n\),总可以拆分成若干个小于 \(n\) 的自然数之和。现在给你一个自然数 \(n\),要求你求出 \(n\) 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。

【输入】

输入:待拆分的自然数 \(n\)

【输出】

输出:若干数的加法式子。

【输入样例】

7

【输出样例】

1+1+1+1+1+1+1
1+1+1+1+1+2
1+1+1+1+3
1+1+1+2+2
1+1+1+4
1+1+2+3
1+1+5
1+2+2+2
1+2+4
1+3+3
1+6
2+2+3
2+5
3+4

【解题思路】

image

【算法标签】

《洛谷 P2404 自然数的拆分问题》 #搜索#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int n;          // 输入的需要分解的正整数
int a[10];      // 存储当前分解方案的数组/*** 深度优先搜索函数,用于生成所有可能的分解方案* @param s 剩余需要分解的数值* @param step 当前分解的步骤(即当前分解出的数字个数)*/
void dfs(int s, int step)
{// 当剩余数值为0时,表示找到一个有效的分解方案if (s == 0) {// 输出分解方案,用"+"连接各个数字for (int i = 0; i < step - 1; i++)  {cout << a[i] << "+";}cout << a[step - 1] << endl;  // 输出最后一个数字并换行return;}// 尝试所有可能的分解数字(从1到剩余数值s)for (int i = 1; i <= s; i++) {// 确保分解的数字不小于前一个数字(避免重复方案)if (i < a[step - 1]) {continue;}// 记录当前分解的数字a[step] = i;// 递归处理剩余数值dfs(s - i, step + 1);}
}int main()
{// 输入需要分解的正整数cin >> n;// 从1开始尝试所有可能的第一个分解数字for (int i = 1; i <= n / 2; i++) {a[0] = i;            // 设置第一个分解数字dfs(n - i, 1);       // 递归处理剩余数值}return 0;
}

【运行结果】

7
1+1+1+1+1+1+1
1+1+1+1+1+2
1+1+1+1+3
1+1+1+2+2
1+1+1+4
1+1+2+3
1+1+5
1+2+2+2
1+2+4
1+3+3
1+6
2+2+3
2+5
3+4
http://www.jsqmd.com/news/390117/

相关文章:

  • 题解:洛谷 P1019 [NOIP 2000 提高组] 单词接龙
  • 题解:洛谷 P1101 单词方阵
  • 最火AI岗位!大模型驱动下_5大就业方向:大模型时代5大热门职业赛道与学习资料包免费领
  • 题解:洛谷 P1605 迷宫
  • 动态优化决策模型:变分法原理、工业实证与 Python 仿真
  • 题解:洛谷 P2895 [USACO08FEB] Meteor Shower S
  • 题解:洛谷 P1433 吃奶酪
  • 2026年试验机实力厂家哪家值得选?热门排行公布,洛氏硬度计/电子万能材料测试机,试验机厂家推荐排行榜 - 品牌推荐师
  • 题解:洛谷 P1135 奇怪的电梯
  • 再论自然数全加和 - 角度和三角函数的本质
  • OpCore Simplify智能配置:黑苹果配置的自动化革命 - 指南
  • 2月17号
  • 题解:洛谷 P1219 [USACO1.5] 八皇后 Checker Challenge
  • 题解:洛谷 P1443 马的遍历
  • 【GitHub项目推荐--ORB-SLAM3:开源视觉、视觉惯性及多地图SLAM库】
  • 污水处理系统中组态王6.55与三菱PLC联机仿真OPC通讯优化之旅
  • Photoshop - Photoshop 工具栏(63)注释工具
  • 题解:洛谷 P3853 [TJOI2007] 路标设置
  • 静态无功补偿器(SVC)仿真模型 采用静态无功补偿器(SVC)对一个500kv, 3000mv...
  • 春晚机器人与中国未来100年发展
  • Photoshop - Photoshop 工具栏(64)计数工具
  • 题解:洛谷 P3743 小鸟的设备
  • 题解:洛谷 P2678 [NOIP 2015 提高组] 跳石头
  • 构建跨行业三维空间智能治理中枢——矩阵视频融合 × 三角测量 × 数字孪生驱动全域风险前置控制
  • 论文阅读:arxiv 2025 Jailbreaking Attacks vs. Content Safety Filters: How Far Are We in the LLM Safety Ar
  • 复杂场景三维空间主动风险防控与智能调度系统——基于矩阵视频融合的空间级安全感知底座技术白皮书
  • 题解:洛谷 P1163 银行贷款
  • 题解:洛谷 P1182 数列分段 Section II
  • 正规的美团礼品卡回收平台推荐 - 京顺回收
  • 题解:洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树