10/06/22 04:49:11
今更だけど
>>301 にするだけでも >>264 の 1.8 倍速
これだと >>264 の 2.5~3 倍速になる
除算は遅いから書き直せるものは書き直したほうがいいね
long calc_yuai(long value){
long i, j, yuai, value_org;
if(value<=1) return 0;
value_org=value;
for(i=0;(value&1)==0;i++) value>>=1;
yuai=(2<<i)-1;
for(i=3;i*i<=value;i+=2){
for(j=1;value%i==0;j=j*i+1){
value/=i;
}
if(j>1) yuai*=j;
}
if(value>1) yuai*=(value+1);
return yuai-value_org;
}