안녕하세요
21년 정처기 실기 2권 231페이지 문제 5번 문제의 풀이 및 답이 이해가 되지 않아서 문의글을 남깁니다.
문제5. 다음 java로 구현된 프로그램을 수행하여 키보드로 "5"를 입력한 이후의 출력 결과를 쓰시오.
import java.util.Scanner;
public class Test {
public static void main(String args[ ]) {
int i;
Scanner s = new Scanner(System.in);
System.out.print("숫자를 입력하시오: ");
i = s.nextInt(i);
recursive(i);
s,close( );
}
static int recursive(int n) {
int i;
if (n<1)
return 2;
else {
i = (2 * recursive(n-1)) + 1;
System.out.println(i);
return i;
}
}
}
이라는 프로그램이 짜여져있고
답은
5
11
23
47
95
입니다.
제가 궁금한 점은
해당 책의 319 풀이에 풀이과정 3번에 숫자를 입력하시오: 를 출력한다. 라고 적혀있습니다.
큰따옴표 안에 숫자를 입력하시오: 라는 문구도 들어가있어서
이 문자와 출력되는 값이 같이 나와야하는 것이 아닌가 하는 문의와
풀이에는 동그라미9번 10번이 표시되어 있지만 그 과정 설명에서는
9번 10번이 생략이 되어있습니다.(뒤페이지에는 동그라미4번과 5번을 끝으로 마무리가 됩니다.)
정리하자면.
1. 출력할 때 풀이에도 "숫자를 입력하시오:" 출력한다고 적혀 있는 이문구가 왜 답에는 출력이 안되어있는지.
2. 표시는 되어있지만
System.out.println(i);
return i;
이 어떻게 풀이되고 마무리되는지 한번 더 설명해주시면 좋겠습니다.
안녕하세요.
"숫자를 입력하시오.:"
값을 입력받을 때 출력되는 출력문입니다.
그래서 출력문
즉, System.out.println(i);
에 의해 출력되는 내용을 답으로 명시한 것입니다.
오늘도 즐거운 하루 되세요.
-
관리자2021-03-18 09:25:05
안녕하세요.
"숫자를 입력하시오.:"
값을 입력받을 때 출력되는 출력문입니다.
그래서 출력문
즉, System.out.println(i);
에 의해 출력되는 내용을 답으로 명시한 것입니다.
오늘도 즐거운 하루 되세요.