Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program cat4;
- var
- a,b, q, d, g, p,z, min, l: qword;
- begin
- Assign(input, 'input.txt'); reset(input);
- Assign(output, 'output.txt');rewrite(output);
- Read(a,b,q);
- d := 2;
- p := q;
- min := high(qword);
- z := 0;
- while (d <= q div d) do
- begin
- if (q mod d = 0) then
- begin
- l := 0;
- g := d;
- z := 0;
- while (q mod d = 0) do
- begin
- l:=l+1;
- q := q div d;
- end;
- while (b div g > 0) do
- begin
- z := z + (b div g) - ((a - 1) div g);
- if (g <= high(qword) div d) then
- g := d * g else break;
- end;
- z := z div l;
- if z < min then min := z;
- end;
- d:=d+1;
- end;
- if (q > 1) then
- begin
- p := q;
- z := 0;
- while (b div q > 0) do
- begin
- z := z + (b div q) - ((a - 1) div q);
- if (p <= high(qword) div q) then
- q := q * p else break;
- end;
- if z < min then min := z;
- end;
- write( min);
- Close(output);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement