이 작업을 처리해야합니다.Ruby. 숫자 범위의 최소 배수를 검색하는 루프를 향상시키는 방법
"2520은 아무 것도 지정하지 않고 1에서 10까지의 각 숫자로 나눌 수있는 최소 숫자입니다. 나머지 숫자. 1에서 20까지의 모든 숫자로 균등하게 나눌 수있는 가장 작은 양수는 얼마입니까? "
내 솔루션은 다음과 같습니다
all_numbers = []
1.upto(2600) do |j|
1.upto(10) do |i|
if j % i == 0
all_numbers << j
end
end
end
result = all_numbers.select{|element| all_numbers.count(element) > 9 }
p result[0]
이 나에게 정답을 제공하지만, 내가 0..20
의 범위를 확인하고이 같은 코드를 변경하려면 :
all_numbers = []
1.upto(100000) do |j|
1.upto(20) do |i|
if j % i == 0
all_numbers << j
end
end
end
result = all_numbers.select{|element| all_numbers.count(element) > 19 }
p result[0]
이 걸리는 답변을 받기에는 너무 많은 시간이 필요합니다. (실제로, 나는 너무 오래 기다리지도 않았지만 ... 아직 정답이 없습니다.).
아이디어가 있으십니까? 많은 감사합니다!
다른 식으로 말하자면, 이것은 프로그래밍 문제가 아닙니다. 수학 문제입니다. 그것은 프로젝트 오일러의 문제와 비슷합니다. 나는 그것이 종종 프로그래밍 학습을 위해 추천되는 이유를 모른다. 거의 모든 프로젝트 오일러 문제는 수학 문제이며 프로그래밍과 관련이 거의 없습니다. –
흠 ..이 통찰력에 감사드립니다. 프로젝트 오일러에서 나온 것이 었습니다. –