숫자가 있고 숫자에 실수가 곱 해지는 지보고 싶습니다. 새 숫자 이전 숫자와 정확히 같은 자릿수를 가지고 재 배열 만합니다. 나는 숫자가 동일하게 유지하는 경우 2 숫자를 곱보고 싶어 예를 들어, 내가루비 - 숫자의 배수가 원래 숫자와 정확히 같은 자릿수인지 확인 (재 배열)
125874
=> 251748
251748가 125,874 2를 곱 두 숫자가 동일한 숫자를 할 것입니다 만 재 배열 . 단순성을 위해 지금은 2의 배수로 테스트하고 있습니다. 이것은 내가 시도하고 실패한 것입니다.
x = 125874
array = x.to_s.chars.map{|x|x.to_i}
=> [1,2,5,8,7,4]
array.permutation.include?((x * 2).to_s.chars.map{|x|x.to_i}
=> true
이제 루프에서이를 실행하여이 기준을 충족하는 100,000 미만의 모든 숫자를 찾으려고했습니다. 125,874 * 2 내가이 일에 자신을 밖으로 혼동 관리 생각 125874.
의 순열 251748을, 동일하기 때문에
range = (1..100000).to_a
range.select do |x|
array = x.to_s.chars.map{|x|x.to_i}
array.permutation.include?((x * 2).to_s.chars.map{|x|x.to_i}
end
=> []
지금, 그것은, 그 배열에 적어도 125,874 기록해야 .
내 대답 (8 월 4 일 유일한 답)을 찾은 경우 도움을 받으십시오. –