bsny 在學等差數列和等比數列,當已知前三項時,就可以知道是等差數列還是等比數列。現在給你序列的前三項,這個序列要麼是等差序列,要麼是等比序列,你能求出第 k 項的值嗎。 如果第 k 項的值太大,對 200907 取模。
第一行乙個整數 t,表示有 t 組測試資料;
對於每組測試資料,輸入前三項 a,b,c,然後輸入 k。
對於全部資料,1<=t<=100,1<=a<=b<=c<=109,1<=k<=109
對於每組資料輸出第 k 項的值,對 200907 取模。
21 2 3 5
1 2 4 5
5這題首先判斷是等比數列還是等差數列,如果c-b==b-a就是等差數列,用到的公式是 第k個數=a+(b-a)*k,對(b-a)*k取模=((b-a)%mod*k%mod)%mod。16
如果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 輸入樣...