計算2的N次方 C語言

2021-10-03 00:10:49 字數 1130 閱讀 6668

總時間限制: 1000ms 記憶體限制: 65536kb

描述

任意給定乙個正整數n(n<=100),計算2的n次方的值。

輸入輸入乙個正整數n。

輸出輸出2的n次方的值。

思考:當n值小時可用函式pow(2,n)。

當2^n值大於int型的範圍時?

樣例輸入

5樣例輸出

32

核心思考:運用一維陣列如何在值大於等於10時正確進製,且下次計算時仍從個數開始。

上**

#include

intmain()

;scanf

("%d"

,&n)

; a[49]

=1; k =0;

for(i=

0;i)for

(j =

49; j >=

0; j--

)for

(i =

0; i <

50; i++

)for

(i; i <

50; i++

)printf

("%d"

, a[i]);

return0;

}

想法

值從陣列尾部開始,當值(a[49]

>=

10)大於等於10時,k先對其取十位,陣列前一位+

1,本身取餘(a[49]

=a[49]%

10)。

> 例:a[49]

=16,則k=

1,a[49]

=6, a[48]

=a[48]*

2+k=0*

2+1即a[48]

=1。

>  a[49]

=6*2

=12,k=1

,a[49]=

2,a[48]

=1*2

+1=3。(上一次當a[48]

=1後k=

0)> 成功進製

計算2的n次方

任意給定乙個正整數n n 100 計算2的n次方的值。輸入乙個正整數n。輸出2的n次方的值。計算2的n次方也是依次相乘2,大於個位則進製,從後向前儲存元素,所以要令初始值為1.includeint main 建立儲存資料的陣列 a 49 1 用陣列儲存 int n int i int x 0 x代表...

計算2的N次方

總時間限制 1000ms 記憶體限制 65536kb 描述任意給定乙個正整數n n 100 計算2的n次方的值。輸入輸入乙個正整數n。輸出輸出2的n次方的值。樣例輸入 5樣例輸出 32提示高精度計算 1 include 2 int main int argc,char ar 3 表示大整數,低位在前...

計算2的n次方(高精度)

problem description 任意給定乙個正整數n n 100 計算2的n次方的值。input 輸入有多行,每行只有乙個正整數n。output 輸出2的n次方的值。sample input51 sample output322 用c語言實現的 如下 include include incl...