专栏文章
题解:P1965 [NOIP2013 提高组] 转圈游戏
P1965题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqkgdm0
- 此快照首次捕获于
- 2025/12/04 06:16 3 个月前
- 此快照最后确认于
- 2025/12/04 06:16 3 个月前
思路
规律很简单,答案就是: 。
但这个数很大,要边算边取余,所以要用到快速幂。
什么是快速幂?
快速幂是一种高效计算大数幂的方法,其核心思想是将幂次拆分成二进制形式,通过平方和乘法逐步计算结果,从而显著降低运算量。快速幂的时间复杂度为 ,与朴素的 相比效率有了极大的提高。
——摘自百度搜索。
AC code
CPP#include<bits/stdc++.h>
using namespace std;
int n,m,k,x;
int fpow(int x,int p){
int res=1;
while(p>0){
if(p % 2) res = res * x % p;
p >>= 1;
x = x * x % p;
}
return res;
}
int main(){
cin>>n>>m>>k>>x;
long long sum=((fpow(10,k) % n * m) % n + x) % n;
cout << sum << endl;
return 0;
}
求管理员大大过吧QAQ。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...