| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 454 人关注过本帖, 2 人收藏
标题:递归求思路
只看楼主 加入收藏
az569872968
Rank: 2
等 级:论坛游民
帖 子:46
专家分:78
注 册:2012-3-14
结帖率:100%
收藏(2)
已结贴  问题点数:10 回复次数:6 
递归求思路
比如5 可以看成是1+1+1+1+1 还有就是2+1+1+1 等等 现在任意一个正整数 把它拆分成N个数的和的形式 把所有可能列举
搜索更多相关主题的帖子: 正整数 
2012-04-09 15:01
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
设计一个函数,接收当前还剩下多大的数n,n=0就输出并返回,然后函数遍历1到n,然后递归n-i。当然要把当前元素放进数组里

酱油实习生
2012-04-09 17:51
az569872968
Rank: 2
等 级:论坛游民
帖 子:46
专家分:78
注 册:2012-3-14
收藏
得分:0 
想过用数组接收  但是用for的时候就不知道如何下手了
2012-04-09 20:46
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
回复 3楼 az569872968
数组接收?没听懂……
实现我那个想法应该没有问题吧

酱油实习生
2012-04-09 21:20
OoDreamParty
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2012-3-1
收藏
得分:5 
#include<stdio.h>


int a[100];

void p(int *b)

{

       int i=0;

      printf("%d",b[i]);

       while(b[++i]!='\0')

             printf("+%d",b[i]);

       if(b[1]!=1)

             printf(",");

}

void zshf(int n,int m)

{

       int i;

       if(n<=0){

              p(a);

              return;

       }

       for(i=n;i>0;i--){

              if(m==0||i<=a[m-1]){

                     a[m]=i;

                     a[m+1]='\0';

                     zshf(n-i,m+1);

       }

              if(m==0)

                     printf("\n");

       }

}

void main()

{

       int n,i;

     printf("输入整数n:");

      scanf("%d",&n);

       zshf(n,0);

      

}
2012-04-09 22:23
OoDreamParty
Rank: 2
等 级:论坛游民
帖 子:10
专家分:20
注 册:2012-3-1
收藏
得分:5 
#include<stdio.h>


int a[100];

void p(int *b)

{

       int i=0;

      printf("%d",b[i]);

       while(b[++i]!='\0')

             printf("+%d",b[i]);

       if(b[1]!=1)

             printf(",");

}

void zshf(int n,int m)

{

       int i;

       if(n<=0){

              p(a);

              return;

       }

       for(i=n;i>0;i--){

              if(m==0||i<=a[m-1]){

                     a[m]=i;

                     a[m+1]='\0';

                     zshf(n-i,m+1);

       }

              if(m==0)

                     printf("\n");

       }

}

void main()

{

       int n,i;

     printf("输入整数n:");

      scanf("%d",&n);

       zshf(n,0);

      

}
2012-04-09 22:27
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
dp .

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2012-04-09 23:03
快速回复:递归求思路
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015148 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved