loj10193. 「一本通 6.1 例 1」序列的第 k 个数

Posted junk_yao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loj10193. 「一本通 6.1 例 1」序列的第 k 个数相关的知识,希望对你有一定的参考价值。

思路:
  简单地快速幂一下就完了。

#include<cstdio>
#include<iostream>
using namespace std;
const long long mod = 200907;
long long quickpow(long long a, long long b, long long p){
    long long res = 1;
    while(b){
        if(b & 1)    res = res * a % p;
        a = a * a % p;
        b >>= 1;
    }
    return res;
}
long long T;
int main(void){
    cin >> T;
    while(T--){
        long long a, b, c, k;
        cin >> a >> b >> c >> k;
        if(c - b == b - a){
            printf("%lld\n", (a + ((k - 1) % mod) * ((c - b) % mod)) % mod);
        }
        else{
            printf("%lld\n", ((a % mod) * (quickpow((c / b) % mod, k - 1, mod)) % mod));
        }
    }
}

 

以上是关于loj10193. 「一本通 6.1 例 1」序列的第 k 个数的主要内容,如果未能解决你的问题,请参考以下文章

loj10194. 「一本通 6.1 练习 1」A 的 B 次方

「一本通 4.2 例 2」最敏捷的机器人(loj10120)

loj10147. 「一本通 5.1 例 1」石子合并

loj10043. 「一本通 2.2 例 1」剪花布条

loj10143. 「一本通 4.6 例 1」营业额统计

loj10164. 「一本通 5.3 例 2」数字游戏