用2的冪次方表示正整數(C語言)

2021-09-24 01:50:21 字數 853 閱讀 3750

任何乙個正整數都可以用2的冪次方表示。例如:

137=27+23+2^0    

同時約定冪次方用括號來表示,即ab 可表示為a(b)。

由此可知,137可表示為:

2(7)+2(3)+2(0)

進一步:7= 22+2+20 (21用2表示)

3=2+2^0

所以最後137可表示為:

2(2(2)+2+2(0))+2(2+2(0))+2(0)

又如:1315=2^10 +2^8 +2^5 +2+2^0

所以1315最後可表示為:

2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)

輸入:正整數(n≤20000)

輸出:符合約定的n的0,2表示(在表示中不能有空格)

輸入格式 input format

乙個正整數

輸出格式 output format

符合約定的n的0,2表示(在表示中不能有空格)

樣例輸入 sample input

73樣例輸出 sample output

2(2(2)+2)+2(2+2(0))+2(0)

#include#include#includevoid fun(int n)

if(n==2)//若是2則直接輸出

while(s<=n)//通過不斷s*2找出大於n時的指數

t=t-1;

if(n==s/2) //n剛好為2的某次方的值

else //計算剩下的值

else

}} int main()

return 0;

}

引用:

任何乙個正整數都可以用2的冪次方表示

例如 137 2 7 2 3 2 0,約定a b可表示為a b 則137可表示為 2 7 2 3 2 0 進一步7 2 2 2 2 0,3 2 2 0。所以137最終可以表示為2 2 2 2 2 0 2 2 2 0 2 0 輸入 正整數 n 20 000 輸出 符合約定的n的0,2表示 在表示中不能...

2的冪次方表示

題目 任何乙個正整數都可以用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 ...

2的冪次方表示

任何乙個正整數都可以用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 又如...