'2数が互いに素かどうか調べる。互いに素なら1を、それ以外なら何で割れるかを返す。(最大公約数を求める)
DEF GCD(A,B)
IF A<B THEN SWAP A,B
IF A MOD B==0 THEN RETURN 1
RETURN GCD(B,A MOD B)
END
'こっちが本題。
DEF BUNSU N,M,A,B OUT X,Y
VAR XX,YY,M
XX=N*B
YY=M*A
M=GCD(XX,YY)
IF M!=1 THEN XX=XX/M:YY=YY/M
X=XX:Y=YY
END
BUNSU N,M,A,B OUT X,Y
?STR$(N)+"/"+STR$(M)+"+"+STR$(A)+"/"+STR$(B)+"="+STR$(X)+"/"+STR$(Y)