#include<iostream>
#include<string.h>
using namespace std;
int d[1000000];
int fun(int x){ //模拟除法 一点一点的除 直到 一个数出现两次 或者除尽 就结束 返回其长度
int k=1,l=1;
memset(d,0,sizeof(d));
while(1){
k*=10;
k%=x;
d[k]++;
l++;
if(d[k]==2||k==0) break;
}
return l;
}
int main(){
int n;
cin>>n;
int maxx=0,max=0;
for(int i=1;i<=n;i++){// 对n个数进行一个 取最大的操作
if(fun(i)>maxx){
maxx=fun(i);
max=i;
}
}
cout<<max<<endl;
return 0;
}
51nod 1035 最长的循环节【模拟除法】
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.