-1
小数点以下を括弧内の小数点以下の桁数で最小に変換しようとしています。 0.458(3)
小数をパスカルで10進数に変換
でなければなりませんn=184, m=5
出力用20
がn=1, m=3
出力用36.8
がn=11, m=24
出力用0.(3)
する必要がありますする必要がありますする必要がありますn=100, m=5
出力用
:それは次のようになります。 n=100, m=7
の出力は14.(285714)
私のプログラムは、最後の分数(100/7)で失敗しています。私は間違って何をしていますか?誰か助けてくれますか?
Program fraction2decimal(output);
var n,m,remainder: integer;
begin
read(n,m);
d := 0;
write (n div m);
remainder := n mod m;
if remainder <> 0 then write('.');
while remainder <> 0 do
begin
if remainder = (remainder*10 mod m) then write('(');
write (remainder*10 div m);
if remainder = (remainder*10 mod m) then begin
write(')');
break;
end;
end;
remainder := remainder*10 mod m;
end.