приплюсовать оставшуюся до целой часть. Или умножить на что-то, чтобы сократился знаменатель. Странные вообще вопросы.
И почему программирование?
* 10 в N степени
Можно сразу при делении выводить полученные цифры.
Вот так это можно написать на ЯП Паскаль:
{ разделить натуральное N на натуральное M с точностью 1000 знаков после запятой }
Write(N div M);
if N mod M > 0 then begin
Write('.'); Z := 0; N := N mod M; repeat
Inc(Z); N := N * 10; Write(N div M); N := N mod M;
until (Z = 999) or (N = 0);
if N > 0 then begin N := N * 10; Z := N div M; if ((N mod M) * 10) div M > 4 then Inc(Z); Write(Z); end;
end;
WriteLn;
Здесь последняя цифра выводится с округлением.
Т. е. если следующая цифра должна быть 5 или больше, то последняя цифра увеличивается на 1.
К примеру для 123 : 321 получим:
0.3831775700934579439252336448598130841121495327102803738317757009345794392523364485981308411214953271028037383177570093457943925233644859813084112149532710280373831775700934579439252336448598130841121495327102803738317757009345794392523364485981308411214953271028037383177570093457943925233644859813084112149532710280373831775700934579439252336448598130841121495327102803738317757009345794392523364485981308411214953271028037383177570093457943925233644859813084112149532710280373831775700934579439252336448598130841121495327102803738317757009345794392523364485981308411214953271028037383177570093457943925233644859813084112149532710280373831775700934579439252336448598130841121495327102803738317757009345794392523364485981308411214953271028037383177570093457943925233644859813084112149532710280373831775700934579439252336448598130841121495327102803738317757009345794392523364485981308411214953271028037383177570093457943925233644859813084112149532710280373831775700934579439252336448598130841121495327
Для проверки можете попробовать поделить „в столбик“…