VBA と JIS Full BASIC
下のJIS Full Basic スタイルとだいたい同じようなコードを VBA で書いたのですが
Z = Sqr(x^2 + y^2)
のところでエラーが出ます。どこがおかしいのでしょうか。
Function gcd(a, b)
Do While b <> 0
r = a Mod b
a = b
b = r
Loop
gcd = a
End Function
Rem 既約なピタゴラス数を求める
Sub Pythagoras()
LAST = 200
LAST = 200
For x = 1 To LAST
For y = x + 1 To LAST
Z = Sqr(x^2 + y^2) 'ここでコンパイルエラーが出る
If Int(Z) = Z Then
If gcd(x, y) = 1 And gcd(x, z) = 1 And gcd(y, z) = 1 Then
Debug.Print x & ", " & y & ", " & z
End If
End If
Next y
Next x
End Sub
----------------------------
JIS Full Basic スタイルのコード
REM ピタゴラス数
FUNCTION gcd(a,b)
DO WHILE b <> 0
LET r = MOD(a,b)
LET a = b
LET b = r
LOOP
LET gcd = a
END FUNCTION
LET LAST = 200
FOR x = 1 TO LAST
FOR y = x + 1 TO LAST
LET z = SQR(x^2+y^2)
IF INT(z) = z THEN
IF gcd(x,y) = 1 AND gcd(x,z) = 1 AND gcd(y,z) = 1 THEN
PRINT x,y,z
END IF
END IF
NEXT y
NEXT x
END
お礼
ありがとうございます。 助かりました。