program PeriodicFraction; var a, b, remainder, quotient: integer; remainders: array[1..100] of integer; i: integer; begin write('Введите числитель a: '); readln(a); write('Введите знаменатель b: '); readln(b); writeln('Периодическая дробь ', a, '/', b, ' = ', a div b, '.'); write('Полная дробь: ', a div b, '.'); a := a mod b; quotient := a; i := 0; while (remainders[quotient] = 0) and (quotient <> 0) do begin i := i + 1; remainders[quotient] := i; quotient := (quotient * 10) mod b; end; writeln('(', a div b, '.'); if (quotient = 0) then writeln('Нет периода.)') else begin for i := 1 to remainders[quotient] - 1 do write(a * 10 div b); writeln(')') end; end.
Этот код запрашивает у пользователя числитель и знаменатель, а затем выводит результат в виде периодической дроби.
Пример кода на языке Pascal:
program PeriodicFraction;var
a, b, remainder, quotient: integer;
remainders: array[1..100] of integer;
i: integer;
begin
write('Введите числитель a: ');
readln(a);
write('Введите знаменатель b: ');
readln(b);
writeln('Периодическая дробь ', a, '/', b, ' = ', a div b, '.');
write('Полная дробь: ', a div b, '.');
a := a mod b;
quotient := a;
i := 0;
while (remainders[quotient] = 0) and (quotient <> 0) do
begin
i := i + 1;
remainders[quotient] := i;
quotient := (quotient * 10) mod b;
end;
writeln('(', a div b, '.');
if (quotient = 0) then
writeln('Нет периода.)')
else
begin
for i := 1 to remainders[quotient] - 1 do
write(a * 10 div b);
writeln(')')
end;
end.
Этот код запрашивает у пользователя числитель и знаменатель, а затем выводит результат в виде периодической дроби.