1
따라서 하나의 매개 변수 n을 갖는 재귀 적 방법이 있으며 (예 : 루프를 사용할 수 없음), 프로그램은 2^n "*"를 출력합니다. 예를 들어, n이 2이면 출력은 ****, n이 3 인 경우 출력은 ********입니다.java 간단한 재귀
일부 무한 재귀 문제가 발생하여이 문제가 발생합니다.
처음에 나는 이것을 가지고 있었다 : 그러나 나는 곧 수표에 도달하지 않을 것이라는 것을 곧 깨닫는다. 그 ↑↑↑
이 있어야했다 N + 1 (작동하지 않는 경우에도) 그런 다음 나는이 시도 :public class test {
public static void main(String[] args) {
printPowerOfTwoStars(3);
}
public static void printPowerOfTwoStars(int n){
n = (int)Math.pow(2, n);
if(n == 0){
return;
}
else{
System.out.print("*");
printPowerOfTwoStars(n-1);
}
}
}
일부 무한 재귀에 란을 다시.
이것은 단순한 논리를 가진 간단한 프로그램처럼 보이지만, n과 비교되는 것이 바뀌기 때문에 상태 확인에 문제가 있습니다.
이 문제는 어떻게 해결해야합니까?
도우미 메서드를 사용하거나 정적 변수를 만들지 않고.
당신이
이것은 훌륭합니다! 이 경우에 Math.pow를 사용할 방법이 있는지 궁금합니다. 고맙습니다! – yyin
나는'Math.pow'를 사용하지 않을 것이라고 생각했습니다. –
문제가 3^n 번 인쇄되는 경우이 문제를 어떻게 구현합니까? 동일한 논리를 사용하면 ** 3^n은 3^n-1이고 3 배 (3^n-1) x 3 = 3^n ** ... 어떻게 할 것입니까? 그냥'printPowerOfTwoStars (n-1);'세 번입니까? – yyin