Advertisement
Guest User

Untitled

a guest
Jan 15th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. program project1;
  2. var A, B, q, M, k, Mmin, kp, l: uint64;
  3. f0, f1: text;
  4. begin
  5. assign(f0, 'input.txt');
  6. reset(f0);
  7. read(f0, A, B, q);
  8. close(f0);
  9. assign(f1, 'output.txt');
  10. rewrite(f1);
  11. k:=2;
  12. Mmin:=high(uint64);
  13. while k <= q div k do
  14. Begin
  15. If q mod k = 0 then
  16. Begin
  17. l:=0;
  18. While (q mod k = 0) do
  19. Begin
  20. inc(l);
  21. q:=q div k;
  22. End;
  23. M:=0;
  24. kp:=k;
  25. while kp <= B do
  26. Begin
  27. M:=M + ((B div kp) - ((A - 1) div kp));
  28. if kp <= high(uint64) div k then
  29. kp:=kp*k else break;
  30. End;
  31. M:=M div l;
  32. if M < Mmin then Mmin:=M;
  33. end;
  34. Inc(k);
  35. End;
  36. If q > 1 then
  37. Begin
  38. kp:=q;
  39. M:=0;
  40. while kp <= B do
  41. Begin
  42. M:=M + ((B div kp) - ((A - 1) div kp));
  43. if kp <= (high(uint64) div q) then
  44. kp:=kp*q else break;
  45. End;
  46. if M < Mmin then Mmin:=M;
  47. end;
  48. write(f1, Mmin);
  49. close(f1);
  50. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement