这个幂运算?
有一个
for(ll a = 2; a*a <= n; ++a){ ll b = 2; for(ll i = a*a; i <= n; i *= a,b++){ for(ll d = 1; d < b; ++d){ if(__gcd(b,d) == 1){ ans = (ans+ (n/b)*2%MOD)%MOD; } } } }
我很好奇,他们枚举的时候,只要b,d互质就对答案更新,但是a=2,b=3,d=2的时候也不存在这样的c啊,它凭什么更新...我debug的时候明显说c=2.8几,然后就开始更新答案了.
全部评论
(1) 回帖