jukaukor

AlmostEquilateralHeronianTriangles.jl

Jan 28th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. # Almost equilateral Heronian trinagles
  2. # (Super Heronian triangles)
  3. # (Lähes tasasivuiset kolmiot)
  4. # sides n-1, n, n+1
  5. # Juhani Kaukoranta 28.01.2020
  6.  
  7. max = 6
  8. function SuperHeronian(max)
  9. b1 = 4
  10. b2 = 14
  11. a1 = 3
  12. c1 = 5
  13. a2 = 13
  14. c2 = 15
  15. # ekakolmio
  16. piiri = a1 + b1 + c1
  17. s = div(piiri,2)
  18. area = trunc(Int,sqrt(s*(s-a1)*(s-b1)*(s-c1)))
  19. inradius = div(area,s)
  20. HeronAlmEq = [a1 b1 c1 piiri area inradius]
  21. # tokakolmio
  22. piiri = a2 + b2 + c2
  23. s = div(piiri,2)
  24. area = trunc(Int,sqrt(s*(s-a2)*(s-b2)*(s-c2)))
  25. inradius = div(area,s)
  26. kolmio = [a2 b2 c2 piiri area inradius]
  27. HeronAlmEq = vcat(HeronAlmEq,kolmio)
  28. for i in 1 : max
  29. b3 = 4*b2 - b1
  30. a3 = b3 - 1
  31. c3 = b3 + 1
  32. piiri = a3 + b3 +c3
  33. s = div(piiri,2)
  34. area = trunc(Int,sqrt(s*(s-a3)*(s-b3)*(s-c3)))
  35. inradius = div(area,s)
  36. kolmio = [a3 b3 c3 piiri area inradius] # present new
  37. HeronAlmEq = vcat(HeronAlmEq,kolmio)
  38. b1 = b2
  39. temp = b3
  40. b2 = temp
  41. end
  42. return HeronAlmEq
  43. end
  44. println("Lähes tasasivuiset Heronin kolmiot")
  45. println(" [a b c piiri area inradius]")
  46. H = SuperHeronian(max)
  47. display(H)
Add Comment
Please, Sign In to add comment