Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- k = gets.chomp
- k_arr = []
- k.split("").each { |e| k_arr << e.to_i }
- k_i = k.to_i
- final = []
- sieved_combos = []
- combos = [0,1,2,3,4,5,6,7,8,9,].repeated_combination(k_arr.size).to_a
- combos.each do |com|
- testvar = 0
- testvar = com.map{ |x| x**2 }.inject(0, &:+)
- if ((Math.sqrt(testvar) % 1) == 0)
- sieved_combos << com
- end
- end
- sieved_combos.each do |sc|
- final << sc.permutation.map { |digits| digits.join.to_i }
- end
- final = final.reduce(:concat)
- final = final.uniq
- puts final.inject(0) { |sum, i| ( i <= k_i ) ? sum += i : sum }
Advertisement
Add Comment
Please, Sign In to add comment