首页 > 其他 > 详细

[NOIP 2013] 转圈游戏

时间:2018-08-15 20:00:38      阅读:182      评论:0      收藏:0      [点我收藏+]

[题目链接]

         https://www.luogu.org/problemnew/show/P1965

[算法]

       不难看出答案为(x + m10^k) % n

       用快速幂求解即可

       时间复杂度 :O(log K)

[代码]

        

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

int n,m,k,x;

inline int power(int a,int n,int p)
{
        int b = a,res = 1;
        while (n > 0)
        {
                if (n & 1) res = 1ll * res * b % p;
                b = 1ll * b * b % p;
                n >>= 1; 
        }
        return res;
}

int main() 
{
        
        scanf("%d%d%d%d",&n,&m,&k,&x);
        printf("%d\n",(x + m * power(10,k,n)) % n);
        
        return 0;
    
}

 

[NOIP 2013] 转圈游戏

原文:https://www.cnblogs.com/evenbao/p/9483525.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!