[c언어] 사이클 숫자 출력

2020. 12. 16. 10:53Computer Science/C

 

어떤 정수 n이 짝수면 2로 나누고 홀수면 3을 곱한 다음 1을 더한다.

이렇게 해서 새로 만들어진 숫자를  n으로 놓고 n이1이 될 때까지 같은 작업을 반복한다. 

 

#include <stdio.h>
int cycleNb(int num);
int main(void)
{
	int n;
	
	printf("Enter a number: ");
	scanf_s("%d", &n);
	
	printf("\n길이는 %d\n", cycleNb(n));

	return 0;
}

int cycleNb(int num)
{
	int length=1;
	printf("%d ", num);
	while (num != 1)
	{
		if (num % 2 == 0)
		{
			num = num / 2;
			printf("%d ", num);
			length++;
		}

		else
		{
			num = num * 3 + 1;
			printf("%d ", num);
			length++;
		}
	}
	return length;
}

 

결과