日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习神技

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习神技 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

王仙女打開了《葵花寶典》,第一頁上赫然寫道:欲練此功,必先學習上古神技:等比數列求和!
王仙女心想:等比數列是什么**東西?難道我的修仙之路要止步于此了嗎?
還好,天無絕人之路,在寶典的第二頁上,寫著密密麻麻的等比數列的介紹:
等比數列為這樣一個數列,它的首項為a_1,第i項為a_1*q^(i-1),其中q為此等比數列的公比。等比數列前n項的求和公式為:

聰慧過人的仙女一下子就學會了等比數列的求和,可是他發現寶典上還有M道測試題,可是這M道的n都非常的大,仙女一時間算不出來,只好打通時空隧道向未來的你求助。有現代化計算機幫助的你一定能很快的求出這M個答案的對吧?

Input

第一行一個正整數M,為詢問組數
接下來M行,每行三個正整數a_1,q,n,含義如題。

Output

共M行,為M個詢問的答案。答案對〖10〗^9+7取模。

Sample Input

1
2 3 3

Sample Output

26

Data Constraint

對于30%的數據,M≤1000,對于每一個詢問,n≤1000
對于100%的數據
M≤〖10〗^5
a _ 1,q≤〖10〗^9
n≤〖10〗^18

.
.
.
.
.
分析
逆元+快速冪

.
.
.
.
.
程序:

#include<iostream> #include<cstdio> #include<cstring> using namespace std; long long mo=1000000007; long long a,q,n,m;long long work(long long x,long long y) {long long ans=1;x%=mo;while (y){if (y&1) ans=(ans*x)%mo;x=(x*x)%mo;y>>=1;}return ans; }int main() {scanf("%lld",&m);while (m--){scanf("%lld%lld%lld",&a,&q,&n);if (q==1) printf("%lld\n",a*(n%mo)%mo); else{long long k=work(q,n)-1;k=(k*a)%mo;q--;long long w=work(q,mo-2);printf("%lld\n",k*w%mo);}}return 0; }

轉載于:https://www.cnblogs.com/YYC-0304/p/10458954.html

總結

以上是生活随笔為你收集整理的学习神技的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。