반응형

C언어 입력한 숫자의 팩토리얼 (factorial)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* Factorial of input number. */
#include <stdio.h>
 
int main() {
    int n, fact = 1;
    int orgN = 0;
    printf("Input an integer: ");
    scanf("%d"&n);
    orgN = n;
    while (n > 0) {
        fact = fact * n;
        n = n - 1;
    }
    printf("factorial of input number %d is %d", orgN, fact);
    return 0;
}
cs

 

 

 

C언어 입력한 숫자의 팩토리얼 (factorial) - method

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* Factorial of input number using method. */
#include <stdio.h>
 
int factorial(int num) {
    int fact = 1;
    while (num > 0) {
        fact = fact * num;
        num = num - 1;
    }
    return fact;
}
 
int main() {
    int num = 6;
    printf("factorial of %d is %d", num, factorial(num));    
    return 0;
}
cs

 

 

 

C언어 입력한 숫자의 팩토리얼 (factorial) - recursive

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* Factorial of input number recursive. */
#include <stdio.h>
 
int factorialRecursive(int num) {
    return (num > 0) ? num * factorialRecursive(num - 1) : 1;
}
 
int getInputNumber() {
    int num = 0;
    printf("Input an integer: ");
    scanf("%d"&num);
    return num;
}
 
int main() {
    int num = getInputNumber();
    printf("factorial of %d is %d", num, factorialRecursive(num));    
    return 0;
}
cs

 

반응형