正数
n 的阶乘由下式给出:
factorial of n (n!) = 1 * 2 * 3 * 4....n
不存在负数的阶乘。并且,0 的阶乘是 1、
一个数的阶乘
#include <stdio.h> int main() { int n, i; unsigned long long fact = 1; printf("Enter an integer: "); scanf("%d", &n); // shows error if the user enters a negative integer if (n < 0) printf("Error! Factorial of a negative number doesn't exist."); else { for (i = 1; i <= n; ++i) { fact *= i; } printf("Factorial of %d = %llu", n, fact); } return 0; }
输出
Enter an integer: 10 Factorial of 10 = 3628800
该程序从用户那里获取一个正整数,并使用
for
循环计算阶乘。
由于一个数的阶乘可能非常大,所以阶乘变量的类型声明为
unsigned long long
。
如果用户输入负数,程序会显示自定义错误消息。
您还可以找到使用递归的数字的阶乘。