Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Julia-program HeronianIntegerTriangles.jl
- # Heronin primitiiviset kolmiot
- # Sivut, ala ja sisäänpiirrettyn ympyrän säde kokonaislukuja
- # Algorithm Brahmagupta (598-668 A.D.)
- # Juhani Kaukoranta 27.01.2020
- max = 10
- function HeronianTriplets(max)
- Heron = [0 0 0 0 0] # Heronin kolmioiden aloitus
- for k in 1 : max
- for n in 1 : max
- for m in 1 : max
- if m >= n && m*n > k^2 && gcd(gcd(m,n),k)==1 && k^2 > m^2*n/(2*m+n)
- a = n*(m^2 + k^2)
- b = m*(n^2 + k^2)
- c = (m + n)*(m*n - k^2)
- q = gcd(a,gcd(b,c))
- #a = div(a,q)
- #b = div(b,q)
- #c = div(c,q)
- piiri = a + b +c
- #area = div(k*m*n*(m+n)*(m*n - k^2),q^2)
- area = k*m*n*(m+n)*(m*n - k^2)
- kolmio =[a b c piiri area]
- if q == 1
- Heron =vcat(Heron,kolmio)
- end
- end
- end
- end
- end
- return Heron
- end
- A = HeronianTriplets(max)
- display(A[sortperm(A[:, 5]), :]) # lajitellaan pinta-alan mukaan
Advertisement
Add Comment
Please, Sign In to add comment