fork download
  1. program wrongModulo;
  2. var T, N, a, i,j,inizio, Ans, V, R : int64;
  3. begin
  4. (*assign(input, 'input.txt'); reset(input);
  5.   assign(output, 'output.txt'); rewrite(output);*)
  6. readln(T);
  7. for i:=1 to T do
  8. begin
  9. readln(N,a);
  10. if a=1 then Ans:=N*N
  11. else
  12. begin
  13. Ans:=N-(N div 2);
  14. for j:=1 to trunc(sqrt(N)) do Ans:=Ans+trunc(N div j);
  15. inizio:=trunc(sqrt(N))+1;
  16. while (inizio<=(N div 2)) do
  17. begin
  18. V:=trunc(N div inizio);
  19. R:= trunc(N div V);
  20. Ans:=Ans+(R-inizio+1)*V;
  21. inizio:=R+1;
  22. end;
  23. end;
  24. writeln(Ans);
  25. end;
  26.  
  27. end.
Success #stdin #stdout 0s 5280KB
stdin
1
1 1000
stdout
2