c++信息学奥赛一本通1318题解
1318:【例5.3】自然数的拆分
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 26590 通过数: 15724
【题目描述】
任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。
当n=7共14种拆分方法:
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
total=14
【输入】
输入n。
【输出】
按字典序输出具体的方案。
【输入样例】
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
题解
这题没什么好说的,就是注意一下输出时的加号就行了。
#include<cstdio>
#include<iostream>
#include<cstdlib>
using namespace std;
int a[10001]={1},n;
void search(int,int);
void print(int);
int main()
{cin>>n;search(n,1);return 0;
}
void search(int s,int t)
{int i;for(i=a[t-1];i<=s;i++)if(i<n){a[t]=i;s-=i;if(s==0)print(t);else search(s,t+1);s+=i;}
}
void print(int t)
{printf("%d=",n);for(int i=1;i<=t-1;i++)cout<<a[i]<<"+";cout<<a[t]<<endl;
}
码字不易,关注点赞收藏支持一下吧!
c++信息学奥赛一本通1318题解相关推荐
- 【信息学奥赛一本通】题解大全
信息学奥赛一本通网站:点击这里 [语言及算法基础篇] 第一部分:C++语言 第一章:C++语言入门 T1000 入门测试题目 点击这里 T1001 Hello,World! ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通(题解目录)
信息学奥赛一本通(题解目录) 记录了我从初学者到逐渐熟悉c++的成长之路 信息学奥赛一本通OJ 目录 信息学奥赛一本通(题解目录) 前言 一.语言及算法基础篇 基础(一) C++语言 第一章 C++语 ...
- 信息学奥赛一本通1114:白细胞计数 视频题解
信息学奥赛一本通1114:白细胞计数 视频题解 1114:白细胞计数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 38224 通过数: 12593 [题目描述] 医院采样了某临 ...
- 信息学奥赛一本通 提高篇 第5章 矩阵乘法
例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂
信息学奥赛一本通 提高篇 第六部分 数学基础 第1章 快速幂 https://blog.csdn.net/mrcrack/article/details/82846727 快速幂取模算法如何实现? h ...
- 信息学奥赛一本通 1358:中缀表达式值(expr)
[题目链接] ybt 1358:中缀表达式值(expr) [题目考点] 1. 表达式求值 中缀表达式转后缀表达式 后缀表达式求值 [解题思路] 由于题目要求做中缀表达式转为后缀表达式,而后求值.那么这 ...
- 信息学奥赛一本通 1356:计算(calc)
[题目链接] ybt 1356:计算(calc) [题目考点] 1. 表达式求值 中缀表达式求值 2. 表达式树 表达式树:一棵表达式树可以表示一系列的运算. 表达式树中的结点包括运算符与数值 str ...
- 信息学奥赛一本通 2021:【例4.6】最大公约数
[题目链接] ybt 2021:[例4.6]最大公约数 [题目考点] 1. while循环 2. 求最大公约数 辗转相减法 辗转相除法 [解题思路] 解法1:枚举 取较小数字,从该数字的值开始从大到小 ...
最新文章
- Python 定时任务框架 APScheduler
- springmvc restful风格操作
- 贪吃蛇小游戏源码再回顾
- 实例55:python
- Chorme Error 312 (net::ERR_UNSAFE_PORT) | Chorme 不信任端口
- 急性中耳炎的治疗行业调研报告 - 市场现状分析与发展前景预测
- 蓝桥杯 ADV-112 算法提高 c++_ch02_01
- 树——一种数据结构(二)
- jquery比较时间大小
- spring中bean的自动装配(详细)
- java2实用教程 第6版(课后习题总结)
- 计算机ppt教案设计大赛,广东省创新杯说课大赛计算机类一等奖作品:PPT电子相册制作教学设计...
- 哨兵系列卫星_空客“哥白尼哨兵1C”卫星雷达天线首次展开双翼
- matlab电磁场,电磁场与波 电磁材料及MATLAB计算
- 财务部计算机操作规程,财务部操作规程.pdf
- 在线对数函数计算机,对数函数计算器
- mac格式化系统恢复|mac格式化后怎么恢复?
- supervisord如何优雅的新加服务
- 砥砺前行!华为构建开放共赢云生态
- clip python_Python pandas.DataFrame.clip函数方法的使用