나는 물어 보는 것을 싫어하지만, 나는 여기에서 꽤 붙어있다. http://projecteuler.net/index.php?section=problems&id=12오일러 프로젝트 도움말 (문제 12) - 프라임 팩터 등
-At 먼저 내가 (긴 시간 후 480 번호를 찾는) 답을 무력을 시도
을 :나는 500 개 이상의 요소를 가지고있는 첫 번째를 찾기 위해 일련의 숫자를 테스트해야
저는 이제 숫자의 소수 요소를 결정한 다음 다른 요소를 찾는 데 사용하고 있습니다.
내가 어떤 번호 I 입력을위한 주요 요소의 배열을 얻을 수있는 단계에서 현재입니다 - 즉, (300)는 주요 내가 할 필요가 주요 요인이 배열을 사용하여 2 2 3 5 5
요인이있다 나머지 요인을 계산할 수 있습니다 - 이것은 내가 붙어있는 부분입니다. 나는 그것을 이해 기본적으로, 나는 ... 배열의 숫자의 모든 가능한 조합을 계산해야
즉 2 * 2
2 * 2 * 3
2 * 2 * 3 * 5
2 * 3
2 * 3 * 3
... 등등 - 그러나이 흥미로운 얻을 경우 같은 것들로는 ...
2 * 5
2 * 3 개 * 5 개
... 즉, 숫자 배열에서 서로 인접하지 않은 배열
길이 배열에 대해 일반적인 방법으로 코드를 작성하는 방법을 생각할 수 없습니다 ...
도움이 필요합니다! PS - 내가 편집 자바
에하고 있어요 : 내 무력 코드 - 그것은 작동 그래서 지금까지 내 코드 :(
package euler.problem12;
public class Solution {
public static void main(String[] args) {
int next = 1;
int triangle = 0;
int maxFactors = 0;
while(true) {
triangle = triangle + next;
int factors = 1;
int max = (int) triangle/2;
for(int i = 1; i <= max; ++i) {
if(triangle % i == 0) {
factors ++;
}
}
if(factors > maxFactors) {
maxFactors = factors;
System.out.println(triangle + "\t" + factors);
}
next++;
}
}
}
하하, 함께 알아 보겠습니다. 나는 SO가 그것을 해결할 수 없다고 상상할 수 없다. –
문제는 "이 숫자의 모든 요인을 빠르게 얻는 방법"입니다. 그것에 집중하십시오. –
글쎄, 프로젝트 오일러는 최적화가 아닌 문제 해결에 관한 것이라고 생각했다. 수학과 관련하여 최적화가 까다로울 수 있습니다. – jokoon