Представить дробь в виде суммы нескольких разных дробей с числителями равными единице и разными знаменателями - Pascal
Формулировка задачи:
Представить обыкновенную правильную дробь с числителем не равным единице в виде суммы нескольких разных дробей с числителями равными единице.
помогите пожалуйста
Решение задачи: «Представить дробь в виде суммы нескольких разных дробей с числителями равными единице и разными знаменателями»
textual
Листинг программы
program egipet;
var
p,q,k:integer;
begin
writeln('Введите числитель ');
readln(p);
writeln('Введите знаменатель ');
readln(q);
k:=1;
repeat
inc(k);
if p*k-q>=0 then begin
p:=p*k-q;
q:=q*k;
writeln('1/',k);
k:=1;
until p=0;
end.
Объяснение кода листинга программы
- В программе объявляются три переменные типа Integer: p, q и k.
- Затем программа запрашивает у пользователя ввод числителя и знаменателя дроби.
- Значения переменных p и q присваиваются результату умножения числителя на знаменатель.
- Переменная k инициализируется единицей.
- Программа входит в цикл repeat, который выполняется до тех пор, пока значение переменной p не станет равным нулю.
- Внутри цикла значение переменной k увеличивается на единицу.
- Если произведение числителя на новое значение переменной k и знаменателя больше или равно нулю, то значения переменных p и q обновляются путем деления на новое значение переменной k.
- Значение переменной q затем умножается на новое значение переменной k.
- В конце цикла выводится дробь в виде 1/k.
- Значение переменной k снова инициализируется единицей.
- Цикл повторяется, пока значение переменной p не станет равным нулю.