ll quickm
(ll a,ll b)
rns>>=1;
//移位運算,經二進位制表示的值左移一位,相當於rns/2,
//移位運算比直接除2要快
a=a*a;
}return ans;
}
如果看不懂移位運算和與運算子的可以先移步至文章末尾,先去了解一下,然後再回來
這有一道例題可以用到快速冪演算法,當然也可以不用,也可以自己本地打表,然後直接定義乙個陣列,不過我這裡就介紹一下用快速冪的解決方法吧
math problem
鏈結附上 math problem
#include
using
namespace std;
typedef
unsigned
long
long ll;
const ll mod=
1000
;const ll maxn=
1e5+10;
ll quickm
(ll a,ll b)
rns>>=1;
a=a*a;
}return ans;
}int
main()
cout<}}
快速冪預備知識
首先是6%2=0;二進位制最低位就是0;6就變成3
然後是3%2=1;二進位製上一位就是1;3就變成1
然後是1%2=1;二進位制再一位就是1;此時1就變成了0;
所以6的二進位制表示就是110;
2.與運算子&
這是乙個二元運算子,從最高位開始按位比較,如果相同的二進位制位的數字相同就返回 1 ,否則就返回 0 。
例如 :3的二進位制 011 ; 5 的二進位制 101
然後3 & 5 就是 011 & 101 = 001
再比如 x & 1 == 1則表示x為奇數,x & 1 == 0則為偶數。
一道基礎例題的思考
上面是一段我自己編寫的 具體問題是寫出console.log的值,其中我的下意識的判斷 console.log a.constructor b true理由是b.prototype.contructor重寫了a.prototype物件contructor屬性,執行以上 執行結果證明我的下意思判斷是錯...
JS的一道this例題解析
在學習js裡this的指向時,發現了一道有點 的面試題,看懂了對學習this應該是挺有幫助的 例題如下 function parent this.show function function child child.prototype new parent var parent new parent...
linux檔案和目錄管理的一道例題
假設系統中有兩個賬號,分別是 alex 和 arod 這兩個人除了自己群組之外還共同支援乙個名為 project 的群組。假設這兩個使用者需要共同擁有 srv ahome 目錄的開發權,而該目錄禁止其他人進入查閱。請問該目錄的許可權設定應為何?請先以傳統許可權說明,再以 sgid 的功能解析。目標 ...