回答編集履歴

1

計算効率化しました

2016/05/26 14:58

投稿

HogeAnimalLover
HogeAnimalLover

スコア4830

test CHANGED
@@ -5,6 +5,8 @@
5
5
  int myPow(int a, int b)
6
6
 
7
7
  {
8
+
9
+ int temp;
8
10
 
9
11
  switch(b){
10
12
 
@@ -16,6 +18,8 @@
16
18
 
17
19
  }
18
20
 
19
- return myPow(a, b / 2) * myPow(a, b - b / 2);
21
+ temp = myPow(a, b / 2);
22
+
23
+ return temp * temp * (b & 1 ? a : 1);
20
24
 
21
25
  }