17 "execution_count": 12,
19 "output_type": "execute_result"
24 "$primes = Primes.instance\n",
25 "$primes[10000] # returns the 10,001st prime"
30 "execution_count": 13,
41 "execution_count": 13,
43 "output_type": "execute_result"
47 "(0...(0+3)).map{|i| $primes[i]}"
52 "execution_count": 17,
63 "execution_count": 17,
65 "output_type": "execute_result"
69 "def prime_slice(start, len)\n",
70 " (start...(start + len)).map{|i| $primes[i]}\n",
76 "execution_count": 18,
87 "execution_count": 18,
89 "output_type": "execute_result"
93 "def sum_primes(start, len)\n",
94 " prime_slice(start, len).sum\n",
100 "execution_count": 20,
111 "execution_count": 20,
113 "output_type": "execute_result"
122 "execution_count": 19,
133 "execution_count": 19,
135 "output_type": "execute_result"
144 "execution_count": 30,
152 "output_type": "stream",
175 "0 - 192 : 102001\n",
176 "0 - 198 : 109147\n",
177 "0 - 204 : 116533\n",
178 "0 - 206 : 119069\n",
179 "0 - 208 : 121631\n",
180 "0 - 214 : 129419\n",
181 "0 - 216 : 132059\n",
182 "0 - 296 : 263171\n",
183 "0 - 308 : 287137\n",
184 "0 - 326 : 325019\n",
185 "0 - 328 : 329401\n",
186 "0 - 330 : 333821\n",
187 "0 - 332 : 338279\n",
188 "0 - 334 : 342761\n",
189 "0 - 342 : 360979\n",
190 "0 - 350 : 379667\n",
191 "0 - 356 : 393961\n",
192 "0 - 358 : 398771\n",
193 "0 - 426 : 581921\n",
194 "0 - 446 : 642869\n",
195 "0 - 458 : 681257\n",
196 "0 - 460 : 687767\n",
197 "0 - 464 : 700897\n",
198 "0 - 480 : 754573\n",
199 "0 - 484 : 768373\n",
200 "0 - 488 : 782263\n",
201 "0 - 512 : 868151\n",
202 "0 - 530 : 935507\n",
203 "0 - 536 : 958577\n",
204 "2 - 537 : 970219\n",
205 "2 - 539 : 978037\n",
215 "execution_count": 30,
217 "output_type": "execute_result"
221 "sum_limit = 10**6\n",
226 "while primes[start] <= sum_limit\n",
229 " sp = sum_primes(start, length)\n",
230 " while sp <= sum_limit\n",
231 " if sp.prime? && length > best_length\n",
232 " best_start = start\n",
233 " best_length = length\n",
234 " # puts \"#{start} - #{length} : #{sum_primes(start, length)}\"\n",
237 " sp = sum_primes(start, length)\n",
241 "[best_start, best_length, sum_primes(best_start, best_length)]"
246 "execution_count": null,
256 "display_name": "Ruby 2.4.0",
261 "file_extension": ".rb",
262 "mimetype": "application/x-ruby",