51nod 1013 3的冪的和(快速冪 逆元)

2021-07-31 08:12:59 字數 811 閱讀 6628

求:3^0 + 3^1 +…+ 3^(n) mod 1000000007

input

輸入乙個數n(0 <= n <= 10^9)

output

輸出:計算結果

input示例

output示例

逆元:若對於數字a,c 存在x,使a * x = 1 (mod c) ,那麼稱x為 a 對c的乘法逆元。

理論依據:

f / a mod c = ?

如果存在 a*x = 1 (mod c)

那麼2邊同時乘起來,得到 f * x = ? (mod c)

成立條件

(1) 模方程 a * x = 1(mod c) 存在解

(2) a | f (f % a == 0)

若ax=1 mod f 則稱a關於模f的乘法逆元為x。也可表示為ax≡1(mod f)

當a與f互素時,a關於模f的乘法逆元有唯一解。如果不互素,則無解。如果f為素數,則從1到f-1的任意數都與f互素,即在1到f-1之間都恰好有乙個關於模f的乘法逆元

#include

using

namespace

std;

#define mod 1000000007

typedef

long

long ll;

ll quick_pow(ll x,ll n)

return res;

}int main()

51nod 1013 3的冪的和

求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果input示例 3output示例 40思路 根據等比數列和的公式,本題的解為 3 n 1 1 2 1000000007。如果x與y的積除以z所得的餘數為1,即xy 1 ...

51 nod 1013 3的冪的和

1013 3的冪的和 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果input示例 3output示例 40思路為快速冪加逆元,至於...

51NOD 1013 3的冪的和

求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果input示例 3output示例 40 很簡單,這個題目是乙個前n項求和的題 首先寫出求和公式發現分母上有個2劃開後可以變成3 n 2 1 2鑑於他是乙個整型數而3 n...