博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【NOIP2013提高组】转圈游戏
阅读量:6008 次
发布时间:2019-06-20

本文共 709 字,大约阅读时间需要 2 分钟。

比较容易想到的思路:

进行10^k轮游戏后的结果与进行(10^k)%n 的结果是一致的,所以只需要快速幂求(10^k)%n,然后再求出(10^k)%n轮后的结果即可。

快速幂时记得开long long


Code:

#include 
#include
#include
#include
using namespace std;//Mystery_Sky//#define M 1000100#define ll long longll n, m, k, x, ans;ll quickPow(ll x, ll k){ ll ret = 1; while(k) { if(k & 1) ret = (ret * x) % n; k >>= 1; x = (x * x) % n; } return ret % n;} int main() { ll t; scanf("%lld%lld%lld%lld", &n, &m, &k, &x); t = quickPow(10, k); for(int i = 1; i <= t; i++) { x = (x + m) % n; } printf("%lld\n", x); return 0;}

转载于:https://www.cnblogs.com/Benjamin-cpp/p/11122944.html

你可能感兴趣的文章
JavaScript基础---函数
查看>>
前端每日实战:120# 视频演示如何用纯 CSS 创作锡纸撕开的文字效果
查看>>
Laravel实用小功能
查看>>
matplotlib绑定到PyQt5(有菜单)
查看>>
利用Powershell和ceye.io实现Windows账户密码回传
查看>>
Windows 8.1 今年 1 月市场份额超 Vista
查看>>
《设计团队协作权威指南》—第1章1.5节总结
查看>>
Chair:支付宝前端团队推出的Node.js Web框架
查看>>
《Total Commander:万能文件管理器》——第3.8节.后续更新
查看>>
BSD vi/vim 命令大全(下)[转]
查看>>
css3中变形与动画(一)
查看>>
[XMove-自主设计的体感解决方案] 系统综述
查看>>
【LINUX学习】磁盘分割之建立primary和logical 分区
查看>>
【YUM】第三方yum源rpmforge
查看>>
IOS(CGGeometry)几何类方法总结
查看>>
才知道系列之GroupOn
查看>>
⑲云上场景:超级减肥王,基于OSS的高效存储实践
查看>>
linux kswapd浅析
查看>>
变更 Linux、Ubuntu 时区、时间
查看>>
高仿QQ空间 侧滑Menu效果且换肤功能《IT蓝豹》
查看>>