![]() |
#2
peach54602013-08-04 18:43
|
例如;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;
}
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 编辑 ]