Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program project1;
- var
- a, b, q, k, min, l, num, res: QWord;
- function NumOfDel(k: qword): qword;
- var
- num,p: qword;
- begin
- num:=0;
- p := k;
- while b div k > 0 do
- begin
- num += b div k - ((a - 1) div k);
- if k < ((high(qword)) div p) then
- k := k * p
- else
- break;
- end;
- result := num div l;
- end;
- begin
- Assign(input, 'input.txt');
- Assign(output, 'output.txt');
- reset(input);
- rewrite(output);
- Read(a, b, q);
- k := 2;
- min := high(QWord);
- while (q div k > k) do
- begin
- if (q mod k = 0) then
- begin
- l := 0;
- while (q mod k = 0) and (q > 1) do
- begin
- l := l + 1;
- q := q div k;
- end;
- res := NumOfDel(k);
- if min > res then
- min := res;
- res := 0;
- end;
- k := k + 1;
- end;
- if (q > 1) then
- begin
- l := 1;
- res:=NumOfDel(q);
- if (min > res) then
- begin
- min := res;
- end;
- end;
- Write(min);
- readln;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement