题解 | #x?y?n!#
比赛安排(PDF题面存放于本题)
https://ac.nowcoder.com/acm/contest/120562/A
本题是要求出x与y满足所给的gcd(x,y)==n并且x^y要最小。我们从样题发现x^y=gcd(x,y)=n,有异或运算公式x^y=n推导出x^n=y。易知x、y是n的倍数,令y=x+n,又有公式x+n=x^n+2*(x&n),那么只有在(x&n)为0时才成立。n是在int范围里面的,所以可以令x=n<<32,y=(n<<32)+n即可。
比赛安排(PDF题面存放于本题)
https://ac.nowcoder.com/acm/contest/120562/A
本题是要求出x与y满足所给的gcd(x,y)==n并且x^y要最小。我们从样题发现x^y=gcd(x,y)=n,有异或运算公式x^y=n推导出x^n=y。易知x、y是n的倍数,令y=x+n,又有公式x+n=x^n+2*(x&n),那么只有在(x&n)为0时才成立。n是在int范围里面的,所以可以令x=n<<32,y=(n<<32)+n即可。
相关推荐