zoukankan      html  css  js  c++  java
  • 快速幂的题

    #include <bits/stdc++.h>
    using namespace std;
    
    
    long long powM(long long a, long long b, long long mode)
    {
        long long sum = 1;
        a = a % mode;
        while (b > 0) {
            if (b % 2 == 1)     //判断是否是奇数,是奇数的话将多出来的数事先乘如sum
                sum = (sum * a) % mode;
            b /= 2;
            a = (a * a) % mode;// 不断的两两合并再取模,减小a和b的规模
        }
        return sum;
    }
    
    
    
    int main () {
        long long n, m, k, x;
        cin >> n >> m >> k >> x;
        cout << (m * powM(10, k, n) + x) % n << endl;
    }
    

     

    #include <bits/stdc++.h>
    using namespace std;
    
    typedef long long ll;
    
    const long long MODE = 100000007;
    long long powM(long long a, long long b, long long mode)
    {
        long long sum = 1;
        a %= mode;
        while (b) {
            if (b & 1)     //判断是否是奇数,是奇数的话将多出来的数事先乘如sum
                sum = (sum * a) % mode;
            b >>= 1;
            a = (a * a) % mode;// 不断的两两合并再取模,减小a和b的规模
        }
        return sum;
    }
    
    
    int main () {
        int N;
        cin >> N;
        while (N--) {
            ll flag = 1;
            ll n, k;
            cin >> n >> k;
            if (n & 1)
                flag = - 1;
            cout << (powM(k - 1, n, MODE) % MODE + (flag * (k - 1)) % MODE) % MODE << endl;
            
        }
    }
    

     

    #include <bits/stdc++.h>
    using namespace std;
    
    typedef long long ll;
    
    
    long long powM(long long a, long long b, long long mode)
    {
        long long sum = 1;
        a %= mode;
        while (b) {
            if (b & 1)     //判断是否是奇数,是奇数的话将多出来的数事先乘如sum
                sum = (sum * a) % mode;
            b >>= 1;
            a = (a * a) % mode;// 不断的两两合并再取模,减小a和b的规模
        }
        return sum;
    }
    
    
    int main () {
        ll a, b, c, d, e;
        cin >> a >> b >> c >> d >> e;
        ll f = powM(a, c * d, e) % e;
        ll g = powM(b, c * d, e) % e;
        cout << (f * g) % e << endl;
    }
    
    作者:LightAc
    出处:https://www.cnblogs.com/lightac/
    联系:
    Email: dzz@stu.ouc.edu.cn
    QQ: 1171613053
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    证明一下拉普拉斯的《概率分析论》观点
    Android实现小圆点显示未读功能
    命名 —— 函数的命名
    node.js 之爬虫
    ubuntu安装 tensorflow GPU
    古文(诗词文)—— 结构模式与复用
    Win10安装Ubuntu16.04 双系统
    python使用wget下载网络文件
    文字检测与识别资源
    10大深度学习架构:计算机视觉优秀从业者必备
  • 原文地址:https://www.cnblogs.com/lightac/p/10629867.html
Copyright © 2011-2022 走看看