F.R.I.D.A.Y.

콜라츠 추측 본문

DEV/C C++

콜라츠 추측

F.R.I.D.A.Y. 2018. 5. 8. 00:04
반응형

정확한건 뭔지 모르겠고, 스터디에서 해보라고 해서 한거.


인풋을 받고나서 해당 인풋이 A0가 된다.

An이(이 때, n은 0과 자연수) 짝수라면 2로 나누고, 홀수라면 3An + 1로 처리하고, 처리한 것이 A(n+1)이 된다.

콜라츠의 추측에 의하면 결국 1로 값이 나온다고 하는데 아직 모든 자연수에 해당하는지는 증명되지 않은 모양.


#include <stdio.h>

int main(void) {
	int min, max, sum, count;
	min = max = sum = count = 0;
	int input;
	printf("Input : ");
	scanf_s("%d", &input);
	min = max = sum = input;
	printf("Collatz conjecture:%8d", input);
	while (!(input == 1)) {
		if (input % 2) {
			input = 3 * input + 1;
		}
		else {
			input /= 2;
		}
		printf(" >> %8d", input);
		if (min > input) {
			min = input;
		}
		if (max < input) {
			max = input;
		}
		sum += input;
		count++;
		if (!(count % 8)) {
			printf("\n");
		}
		
	}
	printf("\n");

	printf("Count\t: %d\n", count);
	printf("Max\t: %d\n", max);
	printf("Min\t: %d\n", min);
	printf("Sum\t: %d\n", sum);
	printf("Avg\t: %d\n", sum / count);

	return 0;
}


Result:



728x90
반응형

'DEV > C C++' 카테고리의 다른 글

Q 길찾기  (0) 2018.05.13
Q 문제덩어리  (0) 2018.05.11
Q 가위 바위 보  (0) 2018.05.01
무한 반복문  (0) 2018.04.20
Q 입력값의 합 출력  (0) 2018.04.19
Comments