AC日记——计算循环节长度 51nod 1035
Posted Only U - IU
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AC日记——计算循环节长度 51nod 1035相关的知识,希望对你有一定的参考价值。
思路:
我们尝试一种最简单的方法,模拟;
如何模拟呢?
每个数,对它模k取余,如果它的余数没有出现过,就补0继续模;
所以,当一个余数出现两次时,当前的长度即为循环节长度;
来,上代码:
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; int n,ans=0,k=1,d,p=0,flag; bool if_[10005]; int main() { scanf("%d",&d); for(n=2;n<=d;n++) { ans=0,k=1; memset(if_,false,sizeof(if_)); while(1) { if(!k) break; while(k<n) k*=10; if(if_[k]) break; if_[k]=true,k%=n,ans++; } if(ans>=p) p=ans,flag=n; } cout<<flag; return 0; }
以上是关于AC日记——计算循环节长度 51nod 1035的主要内容,如果未能解决你的问题,请参考以下文章