質問するログイン新規登録

回答編集履歴

1

計算効率化しました

2016/05/26 14:58

投稿

HogeAnimalLover
HogeAnimalLover

スコア4860

answer CHANGED
@@ -2,10 +2,12 @@
2
2
 
3
3
  int myPow(int a, int b)
4
4
  {
5
+ int temp;
5
6
  switch(b){
6
7
  case 0: return 1;
7
8
  case 1: return a;
8
9
  default:;
9
10
  }
10
- return myPow(a, b / 2) * myPow(a, b - b / 2);
11
+ temp = myPow(a, b / 2);
12
+ return temp * temp * (b & 1 ? a : 1);
11
13
  }