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