Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # aitojen jakajien summat levylle
- # Summatlevylle.jl
- using DelimitedFiles
- function properdivisorsum(n)
- n_original = n
- result = 1
- for i in 2 : Int(trunc(sqrt(n)))+1
- curr_sum = 1
- curr_term = 1
- while n % i == 0
- n = div(n,i)
- curr_term = curr_term * i
- curr_sum += curr_term
- end
- result = result * curr_sum
- end
- # This condition is to handle the
- # case when original n is a prime number
- # greater than 2
- if n > 2
- result = result * (1 + n)
- end
- return (result - n_original)
- end
- m = 100000000
- divsum = Vector{Int64}(undef,m);
- time0 = time()
- for i in 1 : m
- divsum[i] = properdivisorsum(i)
- end;
- time1 = time()
- println("Summien ",m, "kpl laskentaan kului aikaa ",time1-time0, "sekuntia")
- # kirjoitetaan summat levylle
- time0 = time()
- open("juliasummat.dat", "w") do io writedlm(io,divsum) end
- time1 = time()
- println("Summien kirjoittamiseen levylle kului aikaa ",time1-time0," sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment