int main() { //limit = 6; i64 result = 0; i64 root = sqrt(limit); for(i64 i = 1; i <= root; ++i){ i64 sumto = limit/i; result += sumsquare(sumto); if(result > nmod) result %= nmod; } i64 last = limit; for(i64 i = 2; i <= root+1; ++i){ i64 next = limit/i; i64 cnt = last - next; last = next; i64 tp = sumsquare(i-1); tp %= nmod; cnt %= nmod; tp *= cnt; result+= tp; result %= nmod; } printf("%lld\n", result); }
int main() { int x=10,y=20; printf("sum = %d ",sumsquare(x,y)); return 0; }