基礎數學問題

2022-04-30 07:30:11 字數 874 閱讀 3490

要找出唯一單著的那個數,可以用異或的方式

我們已知 a ^ a = 0 ,對於存在偶數個的數字,遲早會互相抵消,奇數個的數字也會兩兩抵消,只剩下最後乙個答案。

(1)模擬

1.將數字轉換為2進製字串s1 itoa()

2.補前導零,字串s2先存低位,再存高位(相當於交換)

3.轉換為10進製輸出 atoi()

注意 2^32=4294967295,應用long long

ac**:

(2)位運算

int型最多儲存31位整形,即正負數都有,範圍為[-2^31 , 2^31-1],而unsigned int也是31位,但是儲存的是正整數,範圍為[1,2^32-1]

將這個數左移16位+這個數右移16位就達到了交換高低位的效果,且左移和右移超出的部分會自動溢位。

ac**:

#includeusing namespace std;

int main()

2018 6 18 數學問題

define crt secure no deprecate 求正整數n的質因數的個數。120 2 2 2 3 5 所以最後輸出時5 10 9 n至多只存在乙個大於sqrt n 的素因數 這裡只需要篩選到100000就可以 通過素數表,不斷試除,最後求出各個冪指數的和 include 素數表找到10...

2018 6 18 數學問題

2 4 3 8 2 3 3 對分母n 和分子 a進行因子分解後,找到其對應的冪指數相除結果最小的即為最後結果 對n!分解素因數 計算n 中將有幾個p因子ans 計算n p,有n p個整數可以向n 提供乙個p因子 ans n p 計算n p p 有n p p 個整數可以向n 提供兩個因子,相較於上乙個...

數學問題 調整概率

調整 0,x 區間上的數出現的概率 題目 假設函式math.random 等概率隨機返回乙個在 0,1 範圍上的 數,那麼我們知道,在 0,x 區間上的數出現的概率為x 0 x 1 給定乙個大於0的整數k,並且可以使用 math.random 函式,請實現乙個函式依然返回在 0,1 範圍上 的數,但...