快速冪 序列的第k個數

2021-09-25 16:11:29 字數 736 閱讀 8926

bsny 在學等差數列和等比數列,當已知前三項時,就可以知道是等差數列還是等比數列。現在給你序列的前三項,這個序列要麼是等差序列,要麼是等比序列,你能求出第 k 項的值嗎。 如果第 k 項的值太大,對 200907 取模。

第一行乙個整數 t,表示有 t 組測試資料;

對於每組測試資料,輸入前三項 a,b,c,然後輸入 k。

對於全部資料,1<=t<=100,1<=a<=b<=c<=109,1<=k<=109

對於每組資料輸出第 k 項的值,對 200907 取模。

2

1 2 3 5

1 2 4 5

5 

16

這題首先判斷是等比數列還是等差數列,如果c-b==b-a就是等差數列,用到的公式是 第k個數=a+(b-a)*k,對(b-a)*k取模=((b-a)%mod*k%mod)%mod。

如果c/b==b/a,就是等比數列,用到的公式是 第k個數=a*(b/a)^(k-1),套快速冪模板即可

#includeusing namespace std;

#define ll long long

#define mod 200907

int quickpow(int a,int b,int n)

else }

int main()

else

}return 0;

}

快速冪 序列的第k個數

時間限制 1 sec 記憶體限制 128 mb 提交 24 解決 5 提交 狀態 討論版 命題人 quanxing 給你乙個序列的前3項,要麼等差數列要麼等比序列,你能求出第k項的值嗎。如果過大對200907取模 輸入t 組測試資料 每組測試資料有abc k 輸出第k項 2 1 2 3 5 1 2 ...

第K個數 快速排序

題目描述 description 給定乙個長度為n 0輸入描述 input description 第一行為2個數n,k 含義如上題 第二行為n個數,表示這個序列 輸出描述 output description 如果m為質數則 第一行為 yes 沒有引號 第二行為這個數m 否則 第一行為 no 第二...

快速選擇第k個數

給定乙個長度為n的整數數列,以及乙個整數k,請用快速選擇演算法求出數列從小到大排序後的第k個數。輸入格式 第一行包含兩個整數 n 和 k。第二行包含 n 個整數 所有整數均在1 109範圍內 表示整數數列。輸出格式 輸出乙個整數,表示數列的第k小數。資料範圍 1 n 100000,1 k n 輸入樣...