快速幂-一本通「一本通 6.1 例 1」序列的第 k 个数


#include
using namespace std;
long long as(long long a,int p) {
    long long ans = 1;
    while (p) {
        if (p & 1)ans = ans * a % 200907;
        a = a * a % 200907, p >>= 1;

    }
    return ans;
}
int main() {
    int T;
    cin >> T;
    long long a, b, c, k;
    while (T--) {
        cin >> a >> b >> c >> k;
        long long ans = 0;
        if (b - a == c - b) {
            ans = (a + (k - 1) * (c - b)) % 200907;
        }
        else {
            ans = a * as(b / a, k - 1) % 200907;

        }
        cout << ans<

小助手制作


转载请注明来源
sd12