警钟长鸣
查看原帖
警钟长鸣
764644
Xiaoyu0125楼主2024/7/8 18:23

注意 mn−m×(m−1)n−1m^n-m\times(m-1)^{n-1} 可能 <0<0。

如#6的数据输入为210871 96132421
如果没有考虑这种情况,会输出-34922
实际上应为65081

因此程序结尾

cout<<((qpow(m,n)%p)-m*(qpow(m-1,n-1))%p)%p;

应改为

cout<<((qpow(m,n)%p)-m*(qpow(m-1,n-1))%p+p)%p;

还有,别把 mm 和 nn 看反了。

2024/7/8 18:23
加载中...