Blog Detail

  • C 语言实例 - 阶乘

    C 语言实例 - 阶乘

    C 语言实例

    一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且 0 的阶乘为 1。自然数 n 的阶乘写作 n!。

    n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,1!=1,n!=(n-1)!×n。

    实例

    #include

    int main()

    {

    int n, i;

    unsigned long long factorial = 1;

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

    scanf("%d",&n);

    // 如果输入是负数,显示错误

    if (n < 0)

    printf("Error! 负数没有阶乘jiechen");

    else

    {

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

    {

    factorial *= i; // factorial = factorial*i;

    }

    printf("%d! = %llu", n, factorial);

    }

    return 0;

    }

    运行结果:

    输入一个整数: 10

    10! = 3628800

    实例 - 使用递归

    #include

    long int multiplyNumbers(int n);

    int main()

    {

    int n;

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

    scanf("%d", &n);

    printf("%d! = %ld", n, multiplyNumbers(n));

    return 0;

    }

    long int multiplyNumbers(int n)

    {

    if (n > 1)

    return n*multiplyNumbers(n-1);

    else

    return 1;

    }

    C 语言实例