나는 0 문제 6까지있는 번호로 10 번처럼 얻기 위해 가능한 선택의 양을 계산하는 그것이 너무 많은 시간이 소요 것입니다 방법을 사용 때 x는 50 또는 이와 유사합니다. 이 작업을 더 빨리 수행하기 위해해야 할 팁이 필요합니다. 그것은 지난 6 개 값의 합 대신 점을 제외자바 IF 문은 (알고리즘 효율 개선)
코드
public static int count(int x) {
if (x < 0) {
return 0;
}
if (x == 0) {
return 1;
}
int result = 0;
for (int i = 1; i <= 6; i++) {
result += count(x - i);
}
return result;
}
일반적으로 프로그램이 오류없이 작동하지만 더 잘 작동하게하려면 *보다 [코드 검토] (http://codereview.stackexchange.com/) 교환에 대한 질문이 더 적합합니다. – azurefrog
재귀를 사용하는 대신 닫힌 양식 수식을 찾으려고 했습니까? count (n-1), ..., count (n-6) 함수 대신에 n의 함수로 count (n)을 표현하려고 시도한 적이 있습니까? 이것은 수학 문제입니다. – assylias
나는 그것이 무엇을하기로되어 있는지 이해하지 못합니다. – CaffeineToCode