アプリ版:「スタンプのみでお礼する」機能のリリースについて

DO 10 I=1,47
CALL SUB1
10 CONTINUE
STOP
END
SUBROUTINE SUB1
DIMENSION B1(3),B2(3),C(3),L(3),P(3)
CHARACTER*12 A
READ(5,50) A,B1,B2
50 FORMAT(A12,3F8.1,3F7.1)
X=1.0
DO 11 K=1,300
Y1=(-1.0)
Y2=0.0
DO 12 J=1,3
L(J)=(-NINT(B1(J)*10.0/B2(J)))
Y1=Y1+X**L(J)
Y2=Y2+L(J)*X**(L(J)-1)
12 CONTINUE
W=X-Y1/Y2
IF(ABS(W-X).LT.1E-10) GO TO 13
X=W
11 CONTINUE
13 WO=W
DO 14 J=1,3
C(J)=WO**L(J)
14 CONTINUE
R1=0.0
DO 15 J=1,3
R2=R1+B2(J)
R1=R2
15 CONTINUE
D=0.0
DO 16 J=1,3
P(J)=B2(J)/R1
D=D+P(J)*ALOG(P(J)/C(J))
16 CONTINUE
E=0.0
DO 17 J=1,3
E=E+(B1(J)/B2(J)*P(J))
17 CONTINUE
WRITE(*,200) A,B2,P,E,D
200 FORMAT(1H,2X,A12,3X,3(F7.1,2X),4X,3(F9.6,X),4X,F9.6,2X,F9.6)
RETURN
END

A 回答 (1件)

SUB1を47回呼んでいますね。

SUB1の前半はニュートン法で関数の近似解を計算しているようですが、後半はよくわかりません。
入力のパラメータ(A,B1(1~3),B2(1~3))にどんなものが入るかヒントはないでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!