易游港

 找回密码
 注册
搜索
热搜: 城市天际线
查看: 2415|回复: 0

求n的阶乘(n!)

[复制链接]

64

主题

3

回帖

387

积分

管理员

积分
387
发表于 2021-12-16 15:41:29 | 显示全部楼层 |阅读模式
从键盘输入一个数,求出这个数的阶乘,即 n!。
算法思想首先要清楚阶乘定义,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!

具体的操作:利用循环解决问题,设循环变量为 i,初值为 1,i 从 1 变化到 n;依次让 i 与 sum 相乘,并将乘积赋给 sum。
① 定义变量 sum,并赋初值 1。
② i 自增 1。
③ 直到 i 超过 n。

代码如下:
[C] 纯文本查看 复制代码
#include <stdio.h>
int main()
{
    int i,n;
    double sum=1;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        sum=sum*i;
    printf("%d!=%lf",n,sum);
    printf("\n");
    return 0;
}

调试运行结果输入 5,对应的阶乘输出情况如下所示;
5
5!=120.000000
输入20,对应的阶乘输出情况如下所示:
20
20!=2432902008176640000.000000

回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|易游港

GMT+8, 2025-3-13 03:45 , Processed in 0.103565 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2025 Tencent Cloud.

快速回复 返回顶部 返回列表