読者です 読者をやめる 読者になる 読者になる

mu chance or much chance ?

日々の戯れ言

Project Euler 41

Project Euler

Problem41を解きました.

  • Pandigital prime

We shall say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly once. For example, 2143 is a 4-digit pandigital and is also prime.

What is the largest n-digit pandigital prime that exists?

https://projecteuler.net/problem=41

問題は「9桁以下の自然数の中で,パンデジタルで素数である最大値を求めよ.」.

require 'prime'

max = 0
for i in 1..9 do
	num = Array 1..i
	array = num.permutation.to_a
	for i in 0..array.length - 1 do
		if Prime.prime?(array[i].join.to_i) && max < array[i].join.to_i then
			max = array[i].join.to_i
		end 
	end
end

p max

permutationで楽勝です.