51nod 1035 最长的循环节
2017-07-26 22:59
260 查看
做题之前先看论文:http://web.math.sinica.edu.tw/math_media/d253/25311.pdf
在论文中(二)那里讲的求循环节位数,拿来直接用就搞定了
http://blog.csdn.net/acmore_xiong/article/details/53841575我看这个写的也挺详细。
#include <bits/stdc++.h> using namespace std; const int MAXN = 1010; int res[MAXN]; int mod_pow(int a, int b, int m) { int res = 1; while(b) { if(b&1) res = res*a%m; a = a*a%m; b >>= 1; } return res; } int calc(int num) { while(num%2 == 0) num/=2; while(num%5 == 0) num/=5; if(num == 1) return 1; int i = 1; while(mod_pow(10,i,num) != 1) i++; return i; } void init() { int temp; int maxn = 0; for(int i = 1; i < MAXN; ++i) { temp = calc(i); if(temp > maxn) { maxn = temp; res[i] = i; } else res[i] = res[i-1]; } } int main() { init(); int n; cin >> n; cout << res <<endl; return 0; }
相关文章推荐
- 51nod 1035最长循环节
- 51nod 1035 最长的循环节
- 51NOD 1035 最长的循环节
- 51nod-【1035 最长的循环节】
- 51nod 1035 最长的循环节
- 51nod 1035:最长的循环节
- 51Nod - 1035 最长的循环节
- 51nod 1035:最长的循环节
- [51Nod 1035 最长的循环节] 循环小数的性质
- 51nod 1035 最长的循环节
- 51nod 1035 最长的循环节 数学
- 51nod 1035 最长的循环节(无限小数的循环节)
- 【51Nod】1035 最长的循环节
- 51nod 1035 最长的循环节
- 51Nod 1035 最长的循环节
- 51nod 1035 最长的循环节【模拟除法】
- 51Nod-1035-最长的循环节
- 51Nod 1035 最长的循环节
- 51nod 1035:最长的循环节
- 51NOD 1035 最长的循环节(数论)