Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Kokonaisluvun alkulukutekijät
- # Julia-ohjelma
- # Alkulukutekijat.jl
- # Juhani Kaukoranta 9.11.2019
- function eratos(n,nkokluku)
- sieve = trues(n) # seulassa kaikki true
- sieve[1] = false # luku 1 ei alkuluku
- for i = 2 : trunc(UInt64,sqrt(n))+1
- if sieve[i] # if true,
- for j = (i*i):i:n # from i^2 to n with step i set false
- sieve[j] = false # ei alkuluku
- end
- end
- end
- for i = 2 : n
- if sieve[i] # i on alkuluku jos sieve[i] true
- if nkokluku % i == 0 # onko jaollinen i:lla
- print(i," ") # on jaollinen i:lla
- end
- end
- end
- end
- println("Anna kokonaisluku, jonka alkulukutekijät lasketaan ")
- ntxt = readline()
- nkokluku = parse(UInt128,ntxt) # kokonaisluku joka on jaettava tekijöihin
- nn = trunc(UInt64,sqrt(nkokluku))+1 # suurin alkuluku < sqrt(nkokluku)
- println("nn=",nn)
- time0 = time()
- eratos(nn,nkokluku)
- time1 = time()
- println("Aikaa kului ",time1 - time0," sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment