转圈游戏

Posted ainiyuling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转圈游戏相关的知识,希望对你有一定的参考价值。

题面

这道题不难可以推出(x+m*10^k)%n

根据模运算的的分配率可以得到 (x%n+m%n*10^k%n)%n只需用快速幂求出10^k就可以了

#include<iostream> 
#include<cstdio> 
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std; 
int n,m,k,x;
int ksm(int a,int b)

    int re=1;
    int t=a;
    while(b)
    
        if(b&1) re=re*t%n; 
        t=t*t%n;
        b>>=1;
    
    return re;

int main()

    cin>>n>>m>>k>>x;
    cout<<(x%n+m%n*ksm(10,k)%n)%n;
    return 0;

  

以上是关于转圈游戏的主要内容,如果未能解决你的问题,请参考以下文章

NOIP201305转圈游戏

P1965 转圈游戏

Luogu P1965 转圈游戏

codevs 3285 转圈游戏

2019.7.10 校内测试题 转圈游戏

P1965 转圈游戏