#include <stdio.h>
 
 
int factorial_r(int n) {
    if (n <= 1) { 
        return 1;
    } else {
        return n * factorial_r(n - 1); 
    }
}
 
 
int factorial_l(int n) {
    int p = 1;
    for (int i = 1; i <= n; i++) {
        p = p * i; 
    }
    return p;
}
 
int main() {
    int recursive, loop;
    int num = 5;
 
    recursive = factorial_r(num);
    loop = factorial_l(num);
 
    printf("재귀호출: %d\n", recursive
);  
    return 0;
}
 
				I2luY2x1ZGUgPHN0ZGlvLmg+CgoKaW50IGZhY3RvcmlhbF9yKGludCBuKSB7CiAgICBpZiAobiA8PSAxKSB7IAogICAgICAgIHJldHVybiAxOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbiAqIGZhY3RvcmlhbF9yKG4gLSAxKTsgCiAgICB9Cn0KCgppbnQgZmFjdG9yaWFsX2woaW50IG4pIHsKICAgIGludCBwID0gMTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIHAgPSBwICogaTsgCiAgICB9CiAgICByZXR1cm4gcDsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgcmVjdXJzaXZlLCBsb29wOwogICAgaW50IG51bSA9IDU7CgogICAgcmVjdXJzaXZlID0gZmFjdG9yaWFsX3IobnVtKTsKICAgIGxvb3AgPSBmYWN0b3JpYWxfbChudW0pOwoKICAgIHByaW50Zigi7J6s6reA7Zi47LacOiAlZFxuIiwgcmVjdXJzaXZlKTsKICAgIHByaW50Zigi67CY67O166y4OiAlZFxuIiwgbG9vcCk7CgogICAgcmV0dXJuIDA7Cn0K