• 100% Satisfaction Guarantee
Jerubedo, Computer Software Engineer
Category: Programming
Satisfied Customers: 146
Experience:  I specialize in Java, Java EE, PHP, mySQL, HTML5, Javascript, LifeRay Portal, CSS, eclipse, netbeans, and SVN.
25574478
Jerubedo is online now

# I am planning to go to a coding boot camp and am doing some

### Customer Question

I am planning to go to a coding boot camp and am doing some pre course work on ruby coding and need help with some tasks. Can you give me some 1 to 1 suppot
Submitted: 2 years ago.
Category: Programming
Expert:  adamd-mod replied 2 years ago.

Hello there,

I've been working hard to find a Professional to assist you with your question, but sometimes finding the right Professional can take a little longer than expected.

I wonder whether you're ok with continuing to wait for an answer. If you are, please let me know and I will continue my search. If not, feel free to let me know and I will cancel this question for you.

Please note, I am just a moderator for this category, I can only try and find experts to help, I can't answer the question itself.

Thank you!

Customer: replied 2 years ago.

Thank you for the reply. This is the main question I have:

Using Ruby, I am trying to find the Sum of all the Prime Numbers less than 100 using the 'Sieve of Eratosthenes' method. I do not wish to use:

require 'prime'

Prime.each(100).reduce(:+)

method, since while it gives me what I want, it does not use Sieve of Eratosthenes (its too simplistic).

If possible, an in depth explanation would be the best help if possible.

Thank you again.

Expert:  adamd-mod replied 2 years ago.

Hello,

We will continue to look for a Professional to assist you.

Expert:  Jerubedo replied 2 years ago.
Hello there. I can certainly help you with this. Here is the full code with comments to help you understand what is happening and when:def eratosthenes(n)# ***** odd x, if x is prime, nums[x >> 1] is true.# ***** false for all multiples of 3.nums = [true, false, true] * ((n + 5) / 6)nums[0] = false # ***** is not prime.nums[1] = true # ***** is prime.# ***** loop and both inner loops are skipping multiples of 2 and 3.# ***** loop checks x * x > n, same as x > Math.sqrt(n).x = 5until (m = x * x) > nif nums[x >> 1]x_times_2 = x << 1x_times_4 = x << 2while m <= nnums[m >> x] = falsem += x_times_2nums[m >> 1] = falsem += x_times_4 # ***** x = 5, skip 45, 75, 105, ...endendx += 2if nums[x >> 1]m = x * xx_times_2 = x << 1x_times_4 = x << 2while m <= nnums[m >> 1] = falsem += x_times_4 # ***** x = 7, skip 63, 105, 147, ...nums[m >> 1] = falsem += x_times_2endendx += 4endprimes = [2]nums.each_index {|x| primes << (x * 2 + 1) if nums[x]}primes.pop while primes.last > nprimesendp eratosthenes(100)
Expert:  Jerubedo replied 2 years ago.
Hello, I was just checking in to see if you had seen the above answer and if it answered your question. If it did, please remember to rate me as that is the only way I am compensated for my time. Let me know if you need anything else!
Expert:  Jerubedo replied 2 years ago.
.