杭電1097-A hard puzzle

快速冪解法

https://blog.csdn.net/nvliba/article/details/48676659

附(比較好的快速冪講解)

https://www.cnblogs.com/CXCXCXC/p/4641812.html 

 

這個強大的工具:&和>>    

 

&運算通常用於二進制取位操作,例如一個數 & 1 的結果就是取二進制的最末位。還可以判斷奇偶x&1==0爲偶,x&1==1爲奇。

 

>>運算比較單純,二進制去掉最後一位,不多說了,先放代碼再解釋。

 

 

 

  

複製代碼

 1 int poww(int a, int b) {
 2     int ans = 1, base = a;
 3     while (b != 0) {
 4         if (b & 1 != 0)
 5             ans *= base;
 6             base *= base;
 7             b >>= 1;
 8     }
 9     return ans;
10 }

講得真好,我都能理解了 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章