Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Tuottaa primitiivisia Super-Heronin kolmioita
- # yritys & erehdys- eli bruteforce-menetelmällä...;-)
- # (sivut peräkkäisiä kokonaislukuja)
- # lajiteltuna pinta-alan ja sivujen pituuden mukaan
- # Juhani Kaukoranta 29.01.2020
- max = 25
- function BruteforceSuperHeron(max)
- SuperHeron = [0 0 0 0 0 0] # [a b c piiri ala inradius]
- for n in 3 : 100000
- a = n - 1
- b = n
- c = n + 1
- if isinteger((a+b+c)/2)
- s = div(a+b+c,2)
- d2 = s*(s-a)*(s-b)*(s-c)
- if d2 > 0 && isinteger(sqrt(d2))
- piiri = 2*s
- area = trunc(Int,sqrt(d2))
- inradius = div(area,s) # sisäänpiirretty säde
- kolmio = [a b c piiri area inradius]
- SuperHeron =vcat(SuperHeron,kolmio)
- end
- end
- end
- return SuperHeron
- end
- H = BruteforceSuperHeron(max)[setdiff(1:end,1),:] # Heron ekarivi [0 0 0 0 0 0] poistettuna
- #H=A[setdiff(1:end,1),:] # poistetaan ekarivi [0 0 0 0 0]
- println("[a b c piiri ala sisäsäde]")
- display(H[sortperm(H[:, 5]), :]) # lajitellaan pinta-alan mukaan
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement