标题:递归算法求解释。详细的谢谢~
只看楼主
风雨123
Rank: 2
等 级:论坛游民
帖 子:84
专家分:65
注 册:2013-2-23
结帖率:66.67%
已结贴  问题点数:10 回复次数:1 
递归算法求解释。详细的谢谢~
任何一个正整数都可以用2的幂次方表示。
例如;137= 2^7+2^3+2^0.  -->2(7)+2(3)+2(0) ---->2(2(2)+2+2(0))+2(2+2(0))+2(0).
输入:正整数n  输出:符合n的 0,2表示
程序代码:
#include <iostream>
using namespace std;
stry(int n,int r)
{
  if(n==1)
cout<<"2("<<r<<")";
else
{
  stry(n/2,r+1);
if(n%2==1)
cout<<"+2("<<r<<")";
}
}
int main()
{
  int n;
cin>>n;
if(n>=1)
  stry(n,0);
else
cout<<"error"<<endl;
}



[ 本帖最后由 风雨123 于 2013-8-4 16:21 编辑 ]
搜索更多相关主题的帖子: 正整数 
2013-08-04 16:13
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:10 
这就是十进制转二进制,只是用递归替代循环,一种花哨不实用的编程技巧而已

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-04 18:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-418596-1-1.html




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

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