一——

因为这大周要期中考试,所以信息课很少。其实并没有什么老师占课,只是这大周本来就短,然后少了好几节信息课。更那啥的是,考试那两天刚好都有信息课,刚好就占掉了。太惨了


一:求阶乘

题目描述:就是输入一个数N,求它的阶乘。N<=500。

看完以后我还没有看懂这个结果会有多大。于是我很诚实的按了一下计算器。
然后……
这里写图片描述
虽然到现在。我还不知道e是什么数,但是我知道应该是一个很大很大的数。
总之结果就是很大。因为10!就已经有3,628,800。所以这道题显然是要用高精度算的。

实际上并不需要这么长的一段废话。因为这题的标签上就是三个字 “高精度”。

#include<bits/stdc++.h>
using namespace std;
int a[25000]={},b[25000]={};
int main()
{
    int n,m;
    cin>>n;
    a[1]=1;
    for (int i=2;i<=n;i++)
    {
        for (int j=1;j<=2000;j++)//单精乘高精 
        {
            b[j]+=a[j]*i;
            b[j+1]=b[j]/10;
            b[j]%=10;
        }
        for (int k=1;k<=2000;k++)//将b的数值存到a中 
        {
            a[k]=b[k];
            b[k]=0;
        }
    }
    m=2000;
    while (a[m]==0) m--;//处理开头的零 
    for (int i=m;i>=1;i--) cout<<a[i];//输出结果 
    cout<<endl;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值