一起创业网-为互联网创业者服务

阶乘怎么编程序

计算阶乘的程序可以根据不同的编程语言和需求采用不同的实现方式。下面我将提供几种不同编程语言中计算阶乘的方法。

C语言

使用循环计算阶乘:

```c

include

unsigned long long factorial(int n) {

unsigned long long result = 1;

for(int i = 1; i <= n; i++) {

result *= i;

}

return result;

}

int main() {

int n;

printf("请输入一个正整数: ");

scanf("%d", &n);

printf("%d的阶乘为: %llu

", n, factorial(n));

return 0;

}

```

使用递归计算阶乘:

```c

include

unsigned long long factorial_recursive(int n) {

if (n == 0 || n == 1) {

return 1;

} else {

return n * factorial_recursive(n - 1);

}

}

int main() {

int n;

printf("请输入一个正整数: ");

scanf("%d", &n);

printf("%d的阶乘为: %llu

", n, factorial_recursive(n));

return 0;

}

```

Python

使用循环计算阶乘:

```python

def factorial_iterative(n):

result = 1

for i in range(1, n + 1):

result *= i

return result

print(factorial_iterative(5)) 输出 120

```

使用递归计算阶乘:

```python

def factorial_recursive(n):

if n == 0 or n == 1:

return 1

else:

return n * factorial_recursive(n - 1)

print(factorial_recursive(5)) 输出 120

```

Java

使用循环计算阶乘:

```java

public class Factorial {

public static void main(String[] args) {

int n = 5;

System.out.println(n + "的阶乘是 " + factorialIterative(n));

}

public static long factorialIterative(int n) {

long result = 1;

for (int i = 1; i <= n; i++) {

result *= i;

}

return result;

}

}

```

使用递归计算阶乘:

```java

public class Factorial {

public static void main(String[] args) {

int n = 5;

System.out.println(n + "的阶乘是 " + factorialRecursive(n));

}

public static long factorialRecursive(int n) {

if (n == 0 || n == 1) {

return 1;

} else {

return n * factorialRecursive(n - 1);

}

}

}

```

以上是几种不同编程语言中计算阶乘的方法。你可以根据自己的需求和编程环境选择合适的方法来实现。