숫자 연결

전공 공부/C / / 2020. 12. 30. 21:00
728x90
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[10], i, j, n, l = 0, s = 9999, k;

    for (i = 1; i <= 9; i++)
    {
        n = i;
        a[i] = 0;

        for (;;)
        {
            printf("%d -> ", n);

            if (n % 2 == 0) n = n / 2;

            else n = n * 3 + 1;

            a[i]++;

            if (n == 4) break;
        }

        if (a[i] > l) l = a[i];

        if (a[i] < s) s = a[i];

        printf("%d(%d)\n", n, a[i]);
    }

    printf("가장 긴 연결 : "); k = 1;

    for (i = 1; i <= 9; i++)
    {
        if (l == a[i] && k == 1) { printf("%d", i); k++; }

        else if (l == a[i]) printf(",%d", i);
    }

    printf("\n가장 짧은 연결 : "); k = 1;

    for (i = 1; i <= 9; i++)
    {
        if (s == a[i] && k == 1) { printf("%d", i); k++; }

        else if (s == a[i]) printf(",%d", i);
    }

    return 0;
}

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기