https://wenku.baidu.com/view/7fc328eb4693daef5ef73d87.html
先上文献资料
这里面提到了几个性质
1.对于和5互质的质数p,如果5是 mod p的二次剩余,那在 mod p 意义下的循环节长度为(p-1)的因子
2.对于和5互质的质数p ,如果5是 mod p 的非二次剩余,那么在 mod p 意义下的循环节长度为(2p+2)的因子
3.对于模 形如 p^k 意义下的循环节,循环节的长度为 mod p意义下的循环节长度 * p^(k-1)
4. 对于模形如 n=p1^k1+p2^k2+...... 循环节的长度为每个p^k对应的循环节长度的lcm
对于比5小的数,直接枚举就行
hdu-4794 https://vjudge.net/problem/HDU-4794
坐标的变换规律符合,斐波拉契循环节
因为是坐标变换,和数列不太一样
(1,2,3) : (x1,x2)->(x3,x1)->(x2,x3)->(x1,x2)奇数的话就为这个数因为奇数必须要经历两次循环才能返回原来的(x1,x2)
(1,2,3,4) : (x1,x2)->(x3,x4)->(x1,x2)偶数的话就为这个数/2
#include <iostream>
#define rep(i,a,b) for(int i=(a);i<(b);++i