zoukankan      html  css  js  c++  java
  • HDU 2817 A sequence of numbers【水题|快速幂】

    求等差或等比数列的第n项

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 
     6 const  long long mod = 200907;
     7 
     8  long long Pow( long long x,  long long n) {
     9     if(n == 0) {
    10         return 1;
    11     }
    12     if(n == 1) return x % mod;
    13     if(n & 1) return x % mod * Pow(x, n - 1) % mod;
    14     else return Pow(x * x % mod, n / 2);
    15 }
    16 
    17 int main() {
    18      long long a, b, c, d;
    19      long long t;
    20     scanf("%lld",&t);
    21     while(t--) {
    22         scanf("%lld %lld %lld %lld",&a, &b, &c, &d);
    23         if(b - a == c - b) {
    24              long long x = b - a;
    25              long long y = ((a  % mod) + ((( d - 1 ) % mod) * (x % mod)) % mod) % mod;
    26             printf("%lld
    ", y);
    27         } else {
    28              long long x = b / a;
    29              long long y = (a % mod) * Pow(x % mod, d - 1) % mod;
    30             printf("%lld
    ", y);
    31         }
    32     }
    33     return 0;
    34 }
    View Code
  • 相关阅读:
    [USACO15FEB][AC自动机][栈] Censoring G
    [USACO06NOV] Round Numbers S
    Emiya家的饭
    dp
    P2498 [SDOI2012]拯救小云公主
    [HEOI2015]小L的白日梦
    SP8064 AMR10J-Mixing Chemicals
    10.24三题
    P4296 [AHOI2007]密码箱
    CF780F
  • 原文地址:https://www.cnblogs.com/zhanzhao/p/4363952.html
Copyright © 2011-2022 走看看