반응형
백준 13236번 Collatz Conjecture 풀이 코드
C | C++ | Java | Python
영어(English)
문제 해설
콜라츠 추측을 구현해봅시다. 입력받은 수가 콜라츠 추측으로 1이 될 때까지 과정을 순서대로 출력하면 됩니다. 수가 짝수일 경우 반으로 나누고, 홀수일 경우 3을 곱한 후 1을 더하는 과정을 반복합니다.
풀이
간단한 while문으로 구현가능합니다. 입력은 자연수로 한정되어 있으므로 언젠가는 1이 되어 탈출할 수 있습니다.
코드
#include <stdio.h>
int main(){
int n = 0;
scanf("%d", &n);
printf("%d ", n);
while(n != 1){
if(n%2 == 0){
n = n/2;
printf("%d ", n);
}
else{
n = n*3+1;
printf("%d ", n);
}
}
return 0;
}
#include <iostream>
using namespace std;
int main(){
int n = 0;
cin>>n;
cout<<n<<" ";
while(n != 1){
if(n%2 == 0){
n = n/2;
cout<<n<<" ";
}
else{
n = n*3+1;
cout<<n<<" ";
}
}
return 0;
}
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.printf(n+" ");
while(n != 1){
if(n%2 == 0){
n = n/2;
System.out.printf(n+" ");
}
else{
n = n*3+1;
System.out.printf(n+" ");
}
}
}
}
n = int(input())
print(n, end=" ")
while n != 1:
if n%2 == 0:
n = n//2
print(n, end=" ")
else:
n = n*3+1
print(n, end=" ")
문제 출처
반응형
'Coding > BAEKJOON' 카테고리의 다른 글
[백준] 2475번 검증수 풀이 코드 (C/C++/Java 자바/Python 파이썬) (0) | 2021.09.26 |
---|---|
[백준] 22193번 Multiply 풀이 코드 (C/C++/Java 자바/Python 파이썬) (9) | 2021.09.08 |
[백준] 8760번 Schronisko 풀이 코드 (C/C++/Java 자바/Python 파이썬) (0) | 2021.08.11 |
[백준] 2742번 기찍 N 풀이 코드 (C/C++/Java 자바/Python 파이썬) (0) | 2021.08.01 |
[백준] 2741번 N 찍기 풀이 코드 (C/C++/Java 자바/Python 파이썬) (0) | 2021.07.27 |