这里涉及了一点小奥数论:

如果n^x mod k==1,我们称其为一次规律

那么算n^y mod k的结果就可以转换成:

算n^(x%y) mod k的结果

找x可以用欧拉定理,特殊情况可以直接用费马小定理

我小奥没学好,感兴趣者可以自行了解

下面放出暴力代码

#include<iostream>
using namespace std;
int cnt;
int ans=1;
int main(){
	while(1){
		ans=ans*2011%10000;
		cnt++;
		cout<<"第"<<cnt<<"次: "<<ans<<endl;
		if(ans==1){
			cout<<cnt;
			return 114514;
			
		}
	}
}

2 comments

  • 1

Information

ID
719
Time
1000ms
Memory
256MiB
Difficulty
7
Tags
# Submissions
112
Accepted
24
Uploaded By