栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++拆分自然数【DFS】

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++拆分自然数【DFS】

 个人简介

大家好,我是3月份新人榜排名第三的 ༺Blog༒Hacker༻
支持我:点赞+收藏⭐️+留言
格言:༺永做优质༒programmer༻

注(具体请见CF665B Shopping):

我的更新时间会有所改变,每月2-4篇,感谢各位长期以来的支持!

拆分自然数

题目描述
任何一个自然数n,总可以拆分成若干个自然数之和。

当n=7共15种拆分方法:

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

total=15

输入格式
一行一个整数n。

输出格式
所有拆分方案,具体格式见【样例】。

样例数据

input

4
output

1+1+1+1
1+1+2
1+3
2+2
4
total=5

数据规模与约定

1≤n≤20
code
#include
using namespace std;
int n,a[50],cnt=0,last=0;
void DFS(int deep,int k)
{
	if(deep==0)
	{
		cnt++;
		for(int i=1;i<=last-1;++i)
		{
			cout<
		last++;
		a[last]=i;
		DFS(deep-i,i);
		last--;
	}
	last++;
	a[last]=deep;
	DFS(0,deep);
	last--;
}
signed main()
{
	cin>>n;
	DFS(n,1);
	cout<<"total="< 
点赞收藏是我更新的动力,下期再见,拜拜!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/950267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号