project-euler / project-euler / 46.rb

#!/usr/bin/ruby

def is_prime(n)
    if n <= 1 then 
        return false
    end

    top = Math.sqrt(n).to_i;

    for i in 2..top do
        if n % i == 0
            return false
        end
    end
    return true
end

n = 33
found = true
while found
    n += 2
    if (!is_prime(n)) then
        sq = 1
        square = 2*sq*sq
        found = false
        while n > square do
            if (is_prime(n - square))
                found = true
                break
            end
            sq += 1
            square = 2*sq*sq
        end
    end
end
print "n = #{n}\n"
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.