机智地利用费马小定理解决12月1日集训B题


B原题在此

题目的要求

对于给定的n,找到x满足2^x\mod n=1,无解时输出-1

无脑暴力法

简单来说,直接遍历所有可能的x的取值即可。
但是有无解的可能性,为了不至于陷入死循环的尴尬,先排除所有偶数,然后在x超过特定值时结束循环。

机智的费马小定理

费马告诉我们,如果gcd(a,p)=1必有a^{(p-1)}\mod p=1
所以,如果是大于2的偶数,直接输出n-1即可。