반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1929 : [재귀함수] 우박수 (3n+1) (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
자연수 n이 입력된다.(1<=n<=10,000,000)
출력
3n+1의 과정을 출력한다.
예시
- 입력 : 5
- 출력 :
1
2
4
8
16
5
Solution (풀이)
- 풀이 : 메모리 11856, 시간 : 73
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int number = Integer.parseInt(br.readLine());
loop(number); // 입력받은 숫자를 loop에 넘긴다.
}
public static void loop(int number) {
if (number==1) {
System.out.println(1); // 파라미터로 받은 숫자가 1이면 1출력
return;
}
if (number%2==0) { // 해당 숫자가 짝수면
loop(number/2); // loop에 /2 한 값으로 넘기기
} else {
loop(number*3+1); // 홀수이면 *3+1 결과 넘기기
}
System.out.println(number);
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1857 : 서로 다른 n개 중에서 r개 순서없이 고르기 (0) | 2022.12.02 |
---|---|
[CodeUp_Java] Q1858 : 파스칼의 삼각형 출력하기 1 (0) | 2022.12.01 |
[CodeUp_Java] Q1859 : 별 삼각형 출력하기 (0) | 2022.12.01 |
[CodeUp_Java] Q1860 : 수 삼각형 출력하기 (0) | 2022.12.01 |
[CodeUp_Java] Q1713 : 두 배수의 합과 차 (0) | 2022.12.01 |