OPTION BASE 0 PRINT PRINT "既約分数を小さい順に並べます。" PRINT " ただし、全体集合を、分子と分母が9以下の自然数からなる、" PRINT " 0よりも大きく1よりも小さい既約分数とします。" PRINT DIM S(44),R(44),Q(44) LET C=0 FOR i=1 TO 8 FOR j=i+1 TO 9 IF GCD(i,J)=1 THEN LET C=C+1 LET S(C)=i LET R(C)=j LET Q(C)=ROUND(i/j,8) END IF NEXT j NEXT i CALL sort(Q,S,R,44) LET Z=1 FOR i= TO TO 44 IF Q(i)<>0 THEN PRINT USING "##":Z; PRINT ": ";S(i);"/";R(i);" = ";Q(i) LET Z=Z+1 END IF NEXT i PRINT END EXTERNAL FUNCTION GCD(a,b) DO UNTIL b=0 LET t=b LET b=MOD(a,b) LET a=t LOOP LET GCD=a END FUNCTION EXTERNAL SUB sort(a(),b(),c(),m) FOR i=1 TO m-1 FOR j=i+1 TO m IF a(i)>a(j) THEN LET t3=a(j) LET t1=b(j) LET t2=c(j) LET a(j)=a(i) LET b(j)=b(i) LET c(j)=c(i) LET a(i)=t3 LET b(i)=t1 LET c(i)=t2 END IF NEXT j NEXT i END SUB