Advertisement
regergr

Untitled

Oct 30th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. program project1;
  2.  
  3. var
  4. a, b, q, k, min, l, num, res: QWord;
  5.  
  6.  
  7.  
  8. function NumOfDel(k: qword): qword;
  9. var
  10. num,p: qword;
  11.  
  12. begin
  13. num:=0;
  14. p := k;
  15. while b div k > 0 do
  16. begin
  17. num += b div k - ((a - 1) div k);
  18. if k < ((high(qword)) div p) then
  19. k := k * p
  20. else
  21. break;
  22. end;
  23. result := num div l;
  24. end;
  25.  
  26. begin
  27. Assign(input, 'input.txt');
  28. Assign(output, 'output.txt');
  29. reset(input);
  30. rewrite(output);
  31.  
  32.  
  33. Read(a, b, q);
  34. k := 2;
  35. min := high(QWord);
  36. while (q div k > k) do
  37. begin
  38. if (q mod k = 0) then
  39. begin
  40. l := 0;
  41. while (q mod k = 0) and (q > 1) do
  42. begin
  43. l := l + 1;
  44. q := q div k;
  45. end;
  46. res := NumOfDel(k);
  47. if min > res then
  48. min := res;
  49. res := 0;
  50. end;
  51. k := k + 1;
  52.  
  53. end;
  54. if (q > 1) then
  55. begin
  56. l := 1;
  57. res:=NumOfDel(q);
  58. if (min > res) then
  59. begin
  60. min := res;
  61. end;
  62. end;
  63. Write(min);
  64. readln;
  65. readln;
  66. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement