高速電力シーケンスのk個------

BSNYは、等差数列と等比数列を学ぶ最初の3が知られているとき、私たちは等差数列や等比数列を知ることができます。
あなたは最初の3つの整数シーケンスを与えられて、このシーケンスは、いずれかの等差数列であるか、幾何学的なシーケンスは、あなたがKK項目の値を見つけることができる、です。
項目の値が大きすぎるKK、そのモジュロ200 907 200 907である場合。
入力フォーマット
、整数TTの最初の行のは、TTは、テスト・データ・セットを発現し
、各テストのために最初の三つの入力、B、CA、B、 Cを、 そしてKK入ります。
出力形式
を法200907200907の各データ項目の出力KKください。
データ範囲
1≤T≤1001≤T≤100、

1≤a≤b≤c≤1091≤a≤b≤c≤109、

1≤k≤1091≤k≤109
入力サンプル:
2
。1 2 3 5
1 2 4 5。

出力サンプル:
5
16

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
const int mod = 200907;
int qmi(int a, int k){
 int res = 1;
 while(k){
  if (k & 1) res = (LL)res * a % mod;
  a = (LL)a * a % mod;
  k >>= 1;
 }
 return res;
}
int main(){
 int n;
 cin >> n;
 while(n --){
  int a, b, c, k;
  cin >> a >> b >> c >> k;
  if (a + c == 2 * b)   cout << (a + (b - a) * (LL)(k - 1) % mod) <<endl;
  else              cout << (LL)a * qmi(b / a, k - 1) % mod << endl;
 }
 return 0;
}
公開された106元の記事 ウォン称賛67 ビュー5428

おすすめ

転載: blog.csdn.net/qq_45772483/article/details/104945315