반응형
숫자를 입력받으면, 다음 두 규칙에 따라서 숫자를 처리하고, 그 숫자가 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;
}
반응형
'C언어 > 예제' 카테고리의 다른 글
[C] 숫자의 각 자릿수의 합을 구하는 프로그램 (0) | 2024.11.09 |
---|---|
[C] 입력받은 숫자를 뒤집어 출력하는 프로그램 2 (0) | 2024.11.09 |
[C] 대소문자를 바꾸는 프로그램 (0) | 2024.11.06 |
[C] 입력받은 숫자를 뒤집어 출력하는 프로그램 (0) | 2024.11.06 |
[C] 숫자를 소수끼리의 합으로 분해하는 프로그램 (1) | 2024.11.06 |