Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Almost equilateral Heronian trinagles
- # (Super Heronian triangles)
- # (Lähes tasasivuiset kolmiot)
- # sides n-1, n, n+1
- # Juhani Kaukoranta 28.01.2020
- max = 6
- function SuperHeronian(max)
- b1 = 4
- b2 = 14
- a1 = 3
- c1 = 5
- a2 = 13
- c2 = 15
- # ekakolmio
- piiri = a1 + b1 + c1
- s = div(piiri,2)
- area = trunc(Int,sqrt(s*(s-a1)*(s-b1)*(s-c1)))
- inradius = div(area,s)
- HeronAlmEq = [a1 b1 c1 piiri area inradius]
- # tokakolmio
- piiri = a2 + b2 + c2
- s = div(piiri,2)
- area = trunc(Int,sqrt(s*(s-a2)*(s-b2)*(s-c2)))
- inradius = div(area,s)
- kolmio = [a2 b2 c2 piiri area inradius]
- HeronAlmEq = vcat(HeronAlmEq,kolmio)
- for i in 1 : max
- b3 = 4*b2 - b1
- a3 = b3 - 1
- c3 = b3 + 1
- piiri = a3 + b3 +c3
- s = div(piiri,2)
- area = trunc(Int,sqrt(s*(s-a3)*(s-b3)*(s-c3)))
- inradius = div(area,s)
- kolmio = [a3 b3 c3 piiri area inradius] # present new
- HeronAlmEq = vcat(HeronAlmEq,kolmio)
- b1 = b2
- temp = b3
- b2 = temp
- end
- return HeronAlmEq
- end
- println("Lähes tasasivuiset Heronin kolmiot")
- println(" [a b c piiri area inradius]")
- H = SuperHeronian(max)
- display(H)
Add Comment
Please, Sign In to add comment