Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Ystäväparit
- # Julia-ohjelma Brute Force -menetelmällä
- # AmicablePairsFromDiskSummat.jl
- # Luetaan taulukoidut summat levyltä, lasketaan niiden avulla ystäväparit
- # Juhani Kaukoranta 24.4.2020
- using DelimitedFiles
- # vektorien yms tallennuslevylle/lukeminen levyltä
- function Amicable_pairs()
- # ystäväparit, jotka < n
- # a ja b ovat ystäväpari (amicable numbers), jos
- # a = kokonaisluvun b tulontekijöiden summa
- # b = kokonaisluvun a tulotekijöiden summa
- # tulontekijat "proper divisors", itse luku ei ole mukana
- # taulukoidut summat valmiina levyllä
- #divsum = Array{Int64}(undef,n);
- # luetaan summat levyltä
- time0 = time()
- divsum = Int64.(readdlm("juliasummat.dat"))
- time1 = time()
- n = length(divsum)
- println("Summien ",n," kpl lukemiseen levylta kului aikaa ",time1-time0," sekuntia")
- maxn = maximum(divsum);
- m = div(n,4) # maksisumma noin n/4
- println("n = ",n)
- println("m = ",m)
- println("maksimisumma = ",maxn)
- println("Ystäväparit, jotka pienempiä kuin ", m)
- nro = 0 # laskuri
- time0 = time()
- for i in 2 : m
- j = divsum[i]
- if i < j && i == divsum[j]
- nro += 1
- println(nro,": ",i, " ",divsum[i])
- end
- end
- time1 = time()
- println("Ystäväparien laskentaa kului aikaa ",time1-time0," sekuntia")
- end
- time0 = time()
- Amicable_pairs()
- time1 = time()
- println("Kaikkeen aikaa kului yhteensä ",time1-time0," sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment