質問<3267>2006/6/24
from=あーあ
「コンピュータ」


次の問題を教えて下さい。
次のプログラムは、分数q/p(p、qは正の整数)に関係するものである。
3/13を入力したときの出力を求めよ。配列R( )がどのように変化していくかを
調べ、なぜそのような出力がえられるか説明せよ。
プログラムに入れると0.{230769}がでました。
がどのように答えていったらいいのでしょうか。

100 OPTION BASE 0
110 DIM A(1000)
120 DIM R(999)
130 LET N=1000
140 FOR I=0 TO N-1
150 LET R(I)=0
160 NEXT I
170 DO
180 PRINT "分母P=";
190 INPUT P
200 IF (P>N) THEN
210 PRINT "分母は1000以下にしてください。"
220 END IF
230 LOOP WHILE (P>N)
240 PRINT "分子q=";
250 INPUT Q
260 LET A(0)=INT(Q/P)
270 LET Q=MOD(Q,P)
280 LET K=0
290 DO
300 LET K=K+1
310 LET R(Q)=K
320 LET Q=Q*10
330 LET A(K)=INT(Q/P)
340 LET Q=MOD(Q,P)
350 LOOP WHILE (R(Q)=0)
360 PRINT A(0);"・";
370 FOR I=1 TO R(Q)-1
380 PRINT A(I);
390 NEXT I
400 IF (R(Q)<K) OR (A(K)<>0) THEN
410 PRINT "{";
420 FOR I=R(Q) TO K
430 PRINT A(I);
440 NEXT I
450 PRINT "}";
460 END IF
470 END

(※小文字の<、>を大文字に変えてあります。タグの関係です。管理人談)

★完全解答希望★

お便り2006/6/25
from=JJon.com


このサイトの[検索]機能を使って,
キーワード「分母は1000以下にしてください」を検索する。