【NOIP2013提高组 day1】转圈游戏

题目

【NOIP2013提高组 day1】转圈游戏_第1张图片


题解

–这道题最后的答案很简单就能推出来:(x+10^k*m)mod n
其实就是快速幂了啦


代码

#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN=1;

long long n,m,k,x;
long long ans;

long long Pow(long long b){
    long long ans=1,a=10;
    while(b){
        if(b&1)
            ans=ans*a%n;
        a=a*a%n;
        b>>=1;
    }
    return ans%n;
}

int main(){
//  freopen("circle.in","r",stdin);
//  freopen("circle.out","w",stdout);
    cin>>n>>m>>k>>x;
    if(!n)
        return 0;
    ans+=x%n;
    ans+=Pow(k)*m%n;
    ans%=n;
    cout<return 0;
}

你可能感兴趣的:(数论)