社区
C++ 语言
帖子详情
两道递归题——困惑
happyzhang
2005-03-12 12:48:06
1.写一个计算斐波那挈数列的递归函数(即后面一项为前两项之和)。
2.编写一个递归函数,用来输出n个元素所有子集。
此二题困惑已久,望高手指点。
...全文
110
4
打赏
收藏
两道递归题——困惑
1.写一个计算斐波那挈数列的递归函数(即后面一项为前两项之和)。 2.编写一个递归函数,用来输出n个元素所有子集。 此二题困惑已久,望高手指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ybt631
2005-03-12
打赏
举报
回复
被抢先了,算了,就不贴代码了!
pcboyxhy
2005-03-12
打赏
举报
回复
int print(int i) //i表示第i个元素。从第0个开始
{
if(i>=xmaxlen) //i和总个数一样了,因为i开始于0,所以已经到达边缘了,输出一个子集
{
int j,k=0;
++xnum;
cout<<"No."<<xnum<<'=';
cout<<"{";
for(j=0;j<xmaxlen;j++)
if(bo[j]) //bo[j]表示第j个元素是否在子集中
{
if(k)
cout<<',';
cout<<str[j];
++k;
}
cout<<"}"<<endl;
return 0;
}
else //还没有到达边缘。
{
bo[i]=true; //i放入子集,并继续处理下一个
print(i+1);
bo[i]=false; //i标记为不放入子集,并继续处理下一个
print(i+1);
}
return 0;
}
pcboyxhy
2005-03-12
打赏
举报
回复
1.
#include <iostream>
#include <cstdlib>
using namespace std;
int fib(int n)
{
if(n==1 || n==2)
return 1;
else
return ( fib(n-1)+fib(n-2) );
}
int main(int argc, char *argv[])
{
int test;
cin>>test;
cout<<endl<<fib(test);
system("PAUSE");
return 0;
}
pcboyxhy
2005-03-12
打赏
举报
回复
2.
输入一个字符串作为集合。
比如
abcd
#include<iostream>
using namespace std;
char*str;
bool bo[100];
int xmaxlen;
long xnum=0;
int print(int i)
{
if(i>=xmaxlen)
{
int j,k=0;
++xnum;
cout<<"No."<<xnum<<'=';
cout<<"{";
for(j=0;j<xmaxlen;j++)
if(bo[j])
{
if(k)
cout<<',';
cout<<str[j];
++k;
}
cout<<"}"<<endl;
return 0;
}
else
{
bo[i]=true;
print(i+1);
bo[i]=false;
print(i+1);
}
return 0;
}
int main( int argc, char * argv[] )
{
cout<<"Input the collect."<<endl;
str=new char[100];
cin>>str;
xmaxlen=strlen(str);
print(0);
delete []str;
return 0;
}
基础算法学习 | Python实现——
递归
本文主要讲述
递归
的实现,以及如何设计
递归
函数,目的是为了加强对
递归
算法的理解,希望本文能够对对
递归
感到
困惑
的朋友有一点新的理解吧,其中的个人的理解也不是特别的深,因为
递归
这个东西真的不是一下子就能够...
递归
——四则运算表达式求值
输入:(2+3)(5+7)+9/3 输出: 63 分析 好难,还是有点
困惑
,逻辑懂了,但是怎么想出来的呢? import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { ...
python
递归
函数打印三角_提升Python效率——用循环机制代替
递归
函数
提升Python效率——用循环机制代替
递归
函数
leetcode刷
题
记录03——top100
题
里的6道简单+1道中等
题
这篇博客记录了LeetCode刷
题
...每道
题
都提供了Java代码实现,并附有解
题
思路和关键点说明,部分
题
目还对比了暴力解法和优化解法。博客采用问
题
导向的方式,真实记录了从
困惑
到理解的过程,对算法初学者具有参考价值。
提升Python效率——用循环机制代替
递归
函数!
当年,典型的
递归
题
目,斐波那契数列还记得吗? def fib(n): if n==1 or n==2: return 1 else: return fib(n-1)+fib(n-2) 当然, 为了程序健壮性,加上 try...except... Python资源共享群:484031800 def ...
C++ 语言
65,206
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章