文章

1

粉丝

0

获赞

2

访问

67

头像
涂颜色 题解:
P2015 上海交通大学机试题
发布于2025年3月27日 14:45
阅读数 67

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

ll string_mod(const string&s,ll mod){
    ll res = 0;
    for(char c:s){
        res = (res*10+(c-'0'))%mod;
    }
    return res;
}/*

​大数取模优化
因n极大(1e100000位),需用费马小定理优化:

模数p=1e9+7(质数)
根据费马小定理,2^(p-1) ≡ 1 mod p → 2^n ≡ 2^(n mod (p-1)) mod p
*/

ll qm(ll q,ll n,ll mod){
    ll ans =1 ;
    q = q% mod;
    while(n){
        if(n&1) ans = (ans*q)%mod;
        q = (q*q)%mod;
        n >>=1;
    }
    return ans;
}

int main(){
    string n, m;
    cin>>n>>m;
    cout<<qm(2,string_mod(n,1000000006),1000000007);
}
 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发