Problem 10
0以下の素数の和は2 + 3 + 5 + 7 = 17である.
Problem 10 - PukiWiki
200万以下の全ての素数の和を計算しなさい.
include Math def prime_number?(num,pl) return false if num < 2 return true if num==2 || num==3|| num==5|| num==7|| num==11|| num==13|| num==17|| num==19|| num==23|| num==29|| num==31|| num==37 return false if num %2==0 ||num%3==0 ||num%5==0 ||num % 7==0||num % 11==0||num % 13==0||num % 17==0||num % 19==0||num % 23==0||num % 29==0||num % 31==0||num % 37==0 r = sqrt(num) pl.each{|j| break if j > r return false if num %j == 0 } return true end limit =2000000 sum = 0 target = 1 p_list =[] while target <= limit p_list.push(target) and sum +=target if prime_number?(target,p_list) target +=1 end p sum
答え:142913828922