Problem 58

Problem 58

Starting with 1 and spiralling anticlockwise in the following way, a square spiral with side length 7 is formed.

[color=red]37[/color] 36 35 34 33 32 [color=red]31[/color]
38 [color=red]17[/color] 16 15 14 [color=red]13[/color] 30
39 18 [color=red]5[/color] 4 [color=red]3[/color] 12 29
40 19 6 1 2 11 28
41 20 [color=red]7[/color] 8 9 10 27
42 21 22 23 24 25 26
[color=red]43[/color] 44 45 46 47 48 49

It is interesting to note that the odd squares lie along the bottom right diagonal, but what is more interesting is that 8 out of the 13 numbers lying along both diagonals are prime; that is, a ratio of 8/13 ≈ 62%.

If one complete new layer is wrapped around the spiral above, a square spiral with side length 9 will be formed. If this process is continued, what is the side length of the square spiral for which the ratio of primes along both diagonals first falls below 10%?

nadal sie w to bawimy :slight_smile:

ok

[code=ruby]#!/usr/bin/env ruby

def prime?(n)
if n%2 != 0
3.step(Math.sqrt(n).floor, 2) { |d| return false if n%d == 0 }
true
else
false
end
end

i = 3
n = 5
m = 0
while true
t = [i*i-(i-1), i*i-(i-1)*2, i*i-(i-1)*3]
m += t.count { |e| prime?(e) }
if i%100 == 1
STDOUT.print "i=#{i}, #{m}/#{n}=#{(m100)/n}%\r"
STDOUT.flush
end
break if (m
100)/n < 10
i += 2
n += 4
end
puts “i=#{i}, #{m}/#{n}=#{(m*100)/n}%”[/code]

ok[/quote]
To bylo pytanie :slight_smile:

To było pytanie ? (bo nie widziałem znaku zapytania) :smiley:

zapomnialem go dodac :rolleyes:

ok[/quote]
To bylo pytanie :)[/quote]
Jesteś pewien

ja dam sobie troche spokoj z tym na jakis czas