jukaukor

Alkulukutekijat.jl

Nov 9th, 2019
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1.  
  2. # Kokonaisluvun alkulukutekijät
  3. # Julia-ohjelma
  4. # Alkulukutekijat.jl
  5. # Juhani Kaukoranta 9.11.2019
  6.  
  7. function eratos(n,nkokluku)
  8.  
  9. sieve = trues(n) # seulassa kaikki true
  10. sieve[1] = false # luku 1 ei alkuluku
  11.  
  12. for i = 2 : trunc(UInt64,sqrt(n))+1
  13. if sieve[i] # if true,
  14. for j = (i*i):i:n # from i^2 to n with step i set false
  15. sieve[j] = false # ei alkuluku
  16. end
  17. end
  18. end
  19. for i = 2 : n
  20. if sieve[i] # i on alkuluku jos sieve[i] true
  21. if nkokluku % i == 0 # onko jaollinen i:lla
  22. print(i," ") # on jaollinen i:lla
  23. end
  24. end
  25. end
  26. end
  27.  
  28. println("Anna kokonaisluku, jonka alkulukutekijät lasketaan ")
  29. ntxt = readline()
  30. nkokluku = parse(UInt128,ntxt) # kokonaisluku joka on jaettava tekijöihin
  31. nn = trunc(UInt64,sqrt(nkokluku))+1 # suurin alkuluku < sqrt(nkokluku)
  32. println("nn=",nn)
  33. time0 = time()
  34. eratos(nn,nkokluku)
  35. time1 = time()
  36. println("Aikaa kului ",time1 - time0," sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment