首页 > 其他 > 详细

用2的幂次方表示任意整数--递归

时间:2019-08-20 22:14:15      阅读:132      评论:0      收藏:0      [点我收藏+]

题目如下:

技术分享图片

代码如下:

#include <iostream>
#include <cmath>
using namespace std;
void out1(int a)
{
	int t1,t2;
	if(a==1)
	{
		cout<<"2(0)";
		return;
	}
	t1=int(log(a)/log(2));
	t2=a-pow(2,t1);
	cout<<"2";
	if(t1!=1)
	{
		cout<<"(";
		out1(t1);
		cout<<")";
	}
	if(t2!=0)
	{
		cout<<"+";
		out1(t2);
	}
}

main()
{
	int a;
	cin>>a;
	out1(a);
}

  运行结果如下:

技术分享图片

还有一个:

技术分享图片

用2的幂次方表示任意整数--递归

原文:https://www.cnblogs.com/wanjinliu/p/11385452.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!