C언어/예제

[C] 몇 번의 시행을 해야 하는지 찾는 프로그램

thpop 2024. 11. 9. 18:39
반응형

숫자를 입력받으면, 다음 두 규칙에 따라서 숫자를 처리하고, 그 숫자가 1이 되려면 몇 번을 시행해야 하는지 찾아 출력해주는 프로그램을 만들어볼 것이다

규칙 1 : 홀수면 n을 3n+1로 처리한다.

규칙 2: 짝수면 n을 n/2로 처리한다.

 

출력 예시는 아래와 같다. 

14
17

 

프로그램은 아래와 같다.

#include <stdio.h>
int a=0;

void FindNumber(int num){
if (num%2==0 && num!=1){
	a+=1;
	FindNumber(num/2);
}	else if (num%2==1 && num!=1){
	a+=1;
	FindNumber(num*3+1);
} else if (num==1){
	printf("%d",a);
}
}

int main() {
	int k;
	scanf("%d",&k);
	FindNumber(k);

	return 0;
}
반응형