洛谷P1010 [NOIP1998 普及组] 幂次方进阶解法
程序员文章站
2022-05-08 22:52:26
...
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int n;
string trans(int n)
{
string s;
int m = n;
for (; m != 0;)
{
int i;
for (i = 0; pow(2, i) <= m; i++) {}
if (1 == i)
s += "+2(0)";
else if (2 == i)
s += "+2";
else
s += "+2(" + trans(i - 1) + ")";
m -= pow(2, i - 1);
}
return s.substr(1);
}
int main()
{
cin >> n;
cout << trans(n);
return 0;
}
下一篇: 一个简单的 web 服务器