整数勾股弦新公式的发现及数据库的建立5完
2023-10-01 13:08阅读:
整数勾股弦新公式的发现及数据库的建立 5
全文完
二
输入定差K及打印个数L
的VB程序
这个程序实际上可视为与定差K相对应的整数勾股弦数据库
Private Sub Form_Click():
Form1.Width = 11520: Form1.Height =
15360
Dim A(20):
Dim B(20): Dim
C(20): Dim
Y(20)
K =
InputBox('输入定差K=')
输入定差K
L =
InputBox('输入打印个数L=')
输入打印个数L
V = 0
打印个数
计数开始
For E = K + 2 To 10000:
F = (E * E - K * K) / 2 / K:
G = F + K
生成勾股弦
H = Int(F)
股F取整为H
If (H <> F) Then GoTo S
股不是整数,则退出
If (H = F) Then Print Spc(4); 'A='; E; F; G; K
股是整数,打印
勾股弦及K
V = V + 1
打印个数
计数
If (V = L + 1) Then GoTo W
打印个数够了,退出
A(1) = E: A(2) = F: A(3) = G
公约开始
For I = 1 To 3:
B(I) = A(I): Next I
For I = 1 To 3:
Y(I) = A(I): Next I
For I = 1 To 2:
n1 = A(1):
m1 = A(2)
If m1 > n1 Then
m = m1: N = n1
Else
m = n1: N = m1
End If
Do
R = m Mod N
辗转相除
If R = 0 Then Exit Do
m = N
N = R
Loop
Print Spc(4); n1; '
与 '; m1;
' 的最大公约数X ='; N
N是最大公约数
A(1) = N
A(2) = A(I + 2)
Next I
For I = 1 To 3
C(I) = B(I) / N
计算公约后勾股弦
Next I
Print: Print Spc(4); '独立
'; C(1); C(2); C(3)
打印独立勾股弦
Print : S:
Next E
W:
Print Spc(4);
'成功'
End Sub
例
定差K=1,打印个数 L=5
结果如下:
A B
C
K 公约数
独立 A B
C
注
3 4
5
1
1
3
4
5
A大于B,不取
5 12
13 1
1
5
12 13
K=1 只产生独立勾股弦
7 24
25 1
1
7 24
25
9 40
41 1
1
9 40
41
11 60
61 1
1
11 60
61
例
定差K=2,打印个数L=5
结果如下:
A
B C
K
公约数
独立 A B
C
注
4 3
5 2
1
4 3
5
A大于B,不取
6 8
10 2
2
3 4
5 K=2
产生派生勾股弦
8 15
17 2
1
8 15 17
也产生独立勾股弦
10 24
26 2
2
5 12 13
12 35
37
2
1
12 35
37
例
定差K=3,打印个数L=4
结果如下:
A
B C
K
公约数 独立
A B
C
注
9 12
15 3
3
3 4
5
K=3只产生派生勾股弦
15 36
39 3
3
5 12
13
21 72
75 3
3
7 24
25
27 120
123 3
3
9 40
41
定差K=18,打印个数L=7
结果如下:
A
B C
K
公约数
独立 A B
C
注
24 7
25 18
1
24
7 5
A大于B,不取
30 16
34 18
2
15
8 17
A大于B,不取
36 27
45 18
9
4
3 5
A大于B,不取
42 40
58 18
2
21
20 29
A大于B,不取
48 55
73 18
1
48
55 73
54 72
90 18
18
3
4 5
60 91 109
18
1
60 91 109
整数勾股弦公式,只是一个归纳出来的公式,不是用理论推演出来的,是一个发现。我甚至认为,连经典的勾股定理也可能是一个归纳公式,是一个发现,并没有理论指引。其中也可能含有猜测、运幸、灵感的因素。但坚持不断的努力,才是决定性的因素。
全文完