【C言語】前に書いたコラッツ予想のプログラムを再帰関数を使って書き直す

コラッツ予想についてはここを参照。関数「Collatz」を定義して書き直した。

#include <stdio.h>
#include <stdlib.h>

int Collatz(int);

int main(void) {
    int num;
    printf("数値を入力してEnterボタンを押してください\n");
    scanf_s("%d,", &num);
    Collatz(num);   
}

int Collatz(int num) {
    while (num != 1) {
        if (num % 2 == 0) {
            num = num / 2;
            printf("%d,", num);
        }
        else {
            num = num * 3 + 1;
            printf("%d,", num);
        }

    }
    return num;
}

コメント

タイトルとURLをコピーしました