FULL BASICによるピタゴラス数を昇順に求めるプログラム
(寺田 恵一さんからの再投稿)

SUB CommonDivisor
  DO
   IF MOD(i,j)=0 THEN EXIT DO
   LET i=MOD(i,j)
   IF MOD(j,i)=0 THEN EXIT DO
   LET j=MOD(j,i)
  LOOP
END SUB
SUB Main
  LET i=m
  LET j=n
  CALL CommonDivisor
  IF i=1 THEN LET j=1
  IF j=1 THEN
   LET y=(m^2-n^2)/L
   IF y>x THEN
     LET z=(m^2+n^2)/L
     SET #1 : POINTER END
     PRINT #1:x,y,z
   END IF
  END IF
END SUB
LET F$="c:PitagNo.txt"
OPEN #1:NAME F$
ERASE #1
INPUT x,endx
DO
  IF MOD(x,2)=0 THEN
   IF MOD(x,4)=0 THEN
     LET w=x/2
     LET n=INT(SQR(w))
     DO
      IF MOD(w,n)=0 THEN
        LET m=w/n
        LET L=1
        CALL Main
      END IF
      LET n=n-1
      IF n = 0 THEN EXIT DO
     LOOP
   END IF 
  ELSE
   LET n=INT(SQR(x))
   DO
     IF MOD(x,n)=0 THEN
      LET m=x/n
      LET L=2
      CALL Main
     END IF
     LET n=n-1
     IF n=0 THEN EXIT DO
   LOOP
  END IF
  LET x=x+1
  IF MOD(x,100)=0 THEN PRINT x
  IF x>endx THEN EXIT DO
LOOP
CLOSE #1
PRINT "END"
END
 
Full Basic は Google のツールバーで Full Basicのホームページを
検索してダウンロードして下さい。そのとき変更してなければCドライブに
BASICw32というフォルダができますので、その中に新しいフォルダを作って
このテキストファイルを入れてください。そのファイルを開いて、オプションの
数値を10進1000桁精度にして、実行をクリックすると暫くしてインプット・
ボックスが開きますので、スタート時のXの値,終了時のXの値を入力後
(例えば1,44341のように)ボックスのOKをクリックしてください。
データはそのフォルダのPitagNo.txtに作成されます。 



トップへ 魔方陣トップへ 投稿論文へ