抛出一个问题:
对于n很大的情况,就需要用到除法分块了。
对于一段连续区间,是可能存在n/i相同的情况,所以求出n/i的起始点,下次直接跨过去即可。
有代码:
void fk()
{
int l=1,r;
while(l<=n)
{
r=n/(n/l);
l=r+1;
}
}
微信扫一扫
抛出一个问题:
对于n很大的情况,就需要用到除法分块了。
对于一段连续区间,是可能存在n/i相同的情况,所以求出n/i的起始点,下次直接跨过去即可。
有代码:
void fk()
{
int l=1,r;
while(l<=n)
{
r=n/(n/l);
l=r+1;
}
}
相关推荐