码迷,mamicode.com
首页 > 其他好文 > 详细

纳米猫猫(欧拉函数)

时间:2021-06-28 20:14:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:style   src   long   i++   namespace   ring   code   img   c++   

 

技术图片
#include <bits/stdc++.h>
using namespace std;
using ll = long long ;
ll euler(ll n){
    ll k=n;
    for(ll i=2;i*i<=n;i++)
        if(n%i==0){
            k-=k/i;
            while(n%i==0)n/=i;
        }
    if(n>1)k-=k/n;
    return k;
}
ll mi(ll a,ll b,ll mod){
    ll r=1;
    while(b){
        if(1&b)r=r*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return r;
}
int main()
{
    ios::sync_with_stdio(false);
    string n;
    ll x,mod;
    cin>>x>>n>>mod;
    ll mod1=euler(mod);
    ll r=0;
    for(auto t:n) r=(r*10+t-0)%mod1;
    r=(r+mod1-1)%mod1;
    cout<<mi(x,r,mod)%mod;
}
View Code

 

纳米猫猫(欧拉函数)

标签:style   src   long   i++   namespace   ring   code   img   c++   

原文地址:https://www.cnblogs.com/qq1415584788/p/14941695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!