BZOJ-1053 反素数

求1-N中约数个数最大的数(相同取最小)。

一开始我还想去推导来着,可这题压根就是一道搜索。。。

当然依旧与数论沾边。

根据约数个数定理可得,N的约数个数为它质因数分解后指数各自加一的乘积。

So我们可以得到几个反素数的性质:

  1. 若素数M出现在N的质因数分解中,则其他素数K<M也都有出现在N的质因数分解中

  2. 若素数M在N的质因数分解中的指数为A,则其他素数K<M在N的质因数分解中的指数B>=A

所以就可以贪心+搜索了(素数从小到大依次加入)。

【Code】

原文地址:https://www.cnblogs.com/NanoApe/p/4396712.html