해당 문제는 while 반복문을 적절히 사용할 수 있는지 묻는 문제입니다.
#include <stdio.h>
int main() {
int T;
scanf("%d", &T); // 테스트 케이스의 수를 받아옵니다
while (T--) {
int N;
scanf("%d", &N); // 초기 벼룩의 수를 받아옵니다
int days = 0; // 벼룩이 한마리가 될 때 까지의 걸린 일 수를 저장합니다
while (N > 1) { // 벼룩이 한 마리보다 많은 동안 while 문을 반복합니다
if (N % 2 == 0) { // 만약 벼룩이 짝수 마리라면,
N /= 2; // 수를 절반으로 줄입니다
} else if (N % 2 == 1) { // 만약 벼룩이 홀수 마리라면,
N = N * 3 + 1; // 벼룩의 수를 세배 한 뒤에 한마리를 추가합니다
}
days++; // 하루가 지났으니, 1을 증가시켜 줍니다
}
printf("%d\n", days); // 결과를 출력해 줍니다
}
return 0;
}