fork(1) download
  1. program wrongModulo;
  2. var T, N, a, i,inizio, Ans, V,R : int64;
  3. begin
  4. readln(T);
  5. for i:=1 to T do
  6. begin
  7. readln(N,a);
  8. if a=1 then Ans:=N*N
  9. else
  10. begin
  11. Ans:=0;
  12. inizio:=1;
  13. while inizio<=N do
  14. begin
  15. V:=trunc(N div inizio);
  16. R:= trunc(N div V);
  17. Ans:=Ans+(R-inizio+1)*V;
  18. inizio:=R+1;
  19. end;
  20. end;
  21. writeln(Ans);
  22. end;
  23. end.
Success #stdin #stdout 0.01s 5268KB
stdin
6
4 2
13 1
7 6
9 8
1 1000
1000000000 30030
stdout
8
169
16
23
1
20877697634