51 Nod 1013 3的冪的和

2021-08-18 13:14:09 字數 755 閱讀 9387

1013 3的冪的和

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 難度:3級演算法題

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

input

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

輸出:計算結果
input示例

3
output示例

40
題意:》

思路:明顯的等比數列求和,最後要注意一下除法取模,用乘法逆元,因為1e9+7剛好是素數,所以根據費馬小定理,2的逆元是2^(mod-2);

公式推導:設c為b的逆元,即有b*c =1(mod m),有費馬小定理得到,a^(p-1)   =1(mod p);

所以b^(m-1)=1(mod  m) = b*b(m-2)=1(mod m)

c=b*(m-2)

(a/b)%m=(a*c)%m=(a*b^(m-2)%m;

下面附上我的**:

#includeusing namespace std;

typedef long long ll;

ll quick_mod(ll a,ll b,ll c)

return ans;

} int main()

{ ll n;

ll mod=1e9+7;

cin>>n;

cout<

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...