博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自然数的拆分(DFS)
阅读量:4627 次
发布时间:2019-06-09

本文共 738 字,大约阅读时间需要 2 分钟。

题目描述:

任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。

输入格式:

待拆分的自然数n。

输出格式:

若干数的加法式子。

样例输入:

7

样例输出:

1+1+1+1+1+1+11+1+1+1+1+21+1+1+1+31+1+1+2+21+1+1+41+1+2+31+1+51+2+2+21+2+41+3+31+62+2+32+53+4 详细的都在代码里了,自己看吧。
1 #include
2 using namespace std; 3 int a[41],s; 4 void print(int s) { 5 for(int i=1;i<=s-2;i++)printf("%d+",a[i]); 6 printf("%d\n",a[s-1]); 7 } 8 void search(int n,int s,int pre){ 9 if(n==0 && s>2){10 print(s);//打印11 return;//返回12 }13 for(int i=pre;i<=n;i++){14 a[s]=i;//每一种15 search(n-i,s+1,i);//类似于递归,搜索下一种可能,若放满则打印16 }17 }18 int main(){19 int n;20 cin>>n;21 search(n,1,1);22 return 0;23 }
View Code

 

转载于:https://www.cnblogs.com/YFbing/p/9578917.html

你可能感兴趣的文章
document.readystate
查看>>
数据库访问性能优化
查看>>
面向对象(类的概念,属性,方法,属性的声明,面向对象编程思维
查看>>
2019.07.16
查看>>
ora-1031解决一例
查看>>
虚拟机oom
查看>>
Mysql 多表使用 Case when then 遇到的坑
查看>>
第八次作业
查看>>
天秤座的爱情(转)
查看>>
今天开始搞CentOS 7
查看>>
查询今天是周几?
查看>>
CSS中position属性( absolute | relative | static | fixed )详解
查看>>
(第四周)要开工了
查看>>
Python爬虫
查看>>
rsync工具
查看>>
博客园第一天,开放封闭原则
查看>>
【WA】九度OJ题目1435:迷瘴
查看>>
CSS 实例之打开大门
查看>>
BGA封装芯片手工焊接攻略
查看>>
抽象类和接口的联系与区别
查看>>