測試鏈結
總時間限制: 1000ms 記憶體限制: 65536kb
描述
任何乙個正整數都可以用2的冪次方表示。例如:
137=27+23+20
同時約定方次用括號來表示,即ab可表示為a(b)。由此可知,137可表示為:
2(7)+2(3)+2(0)
進一步:7=22+2+20(21用2表示)
3=2+20
所以最後137可表示為:
2(2(2)+2+2(0))+2(2+2(0))+2(0)
又如:
1315=210+28+25+2+1
所以1315最後可表示為:
2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)
輸入
乙個正整數n(n≤20000)。
輸出
一行,符合約定的n的0,2表示(在表示中不能有空格)。
樣例輸入
137樣例輸出
2(2(2)+2+2(0))+2(2+2(0))+2(0)
解題思路:
首先將整數轉換位二進位制數,找出1的位就是要進行2的冪次的數,
判斷如果冪的值大於2,那麼就要對冪進行二進位制轉換,再遞迴輸出
#include
using
namespace std;
void
mcf(
int num,
int n)
if(r==1)
}}intmain()
遞迴之求冪
剛開始學習用遞迴實現x的n次方時,其思想 或者遞推式 一般如下 x n x x n 1 n 0 x n 1 n 0 c語言 如下 int64為有符號8位元組整數 int64 power int x,int n return x power x,n 1 這種簡單的求冪演算法的時間複雜度為o n 下面介...
NOIP學習之遞迴 188 全排列
測試鏈結 總時間限制 1000ms 記憶體限制 65536kb 描述 給定乙個由不同的小寫字母組成的字串,輸出這個字串的所有全排列。我們假設對於小寫字母有 a b y z 而且給定的字串中的字母已經按照從小到大的順序排列。輸入 輸入只有一行,是乙個由不同的小寫字母組成的字串,已知字串的長度在1到6之...
2的冪次方(遞迴)
任何乙個正整數都可以用22的冪次方表示。例如137 27 23 2 0 同時約定方次用括號來表示,即a b 可表示為a b 由此可知,137可表示為 2 7 2 3 2 0 2 7 2 3 2 0 進一步 7 22 2 207 22 2 20 2 1用2表示 並且3 2 2 0 所以最後137可表示...