行业资讯 2025年06月7日
0 收藏 0 点赞 546 浏览 852 个字
摘要 :

问题描述   输入一个正整数n,输出n!的值。   其中n!=1*2*3*…*n。 算法描述   n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数……

问题描述

  输入一个正整数n,输出n!的值。

  其中n!=1*2*3*…*n。

算法描述

  n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。

  将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。

  首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。

输入格式

  输入包含一个正整数n,n<=1000。

输出格式

  输出n!的准确值。

样例输入

10

样例输出

3628800

# include <stdio.h>
int main()
{
    int a[10000]={0};
    int i,n,k;
    int weishu=1;
    int carry=0;
    int temp;
    
    a[1]=1;
    scanf("%d", &n);
    
    for (i=1; i<=n; i++)
    {
        for (k=1; k<=weishu; k++)
        {               
            temp = a[k]*i + carry;
            a[k] = temp%10;
            carry = temp/10;
        }
        while (carry)
        {
            a[++weishu] = carry%10;
            carry = carry/10; 
        }
    }   
    
    for (i=weishu; i>=1; i--)
        printf("%d", a[i]);
            
    return 0;
}

原文链接:https://blog.csdn.net/a237653639/java/article/details/21323409

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/4092.html

管理员

相关推荐
2025-06-07

在数字化阅读与实体书籍并存的时代,图书租赁管理系统正成为图书馆、书店及共享书吧提升运营效率的…

953
2025-06-07

在当今快节奏的校园生活中,外卖已成为学生和教职工日常生活中不可或缺的一部分。随着外卖需求的不…

997
2025-06-07

“金融市场瞬息万变,能否用Python实现同花顺自动化交易?” 这个问题,正是当下许多投资者和技术开发…

777
2025-06-07

你是否想过用中文编写一款高效、稳定的多用户聊天软件? 对于中小型团队或个人开发者而言,*易语言*…

1,018
2025-06-07

一、系统架构设计 分层架构: 前端层:用户端(H5/小程序/APP)+ 管理后台(Web) 服务层:抽奖核心…

674
2025-06-07

在数字化时代,二手交易市场正以前所未有的速度蓬勃发展。无论是闲置物品的流通,还是环保意识的提…

469
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号