美文网首页
阶乘求和例题(高精度乘与和)

阶乘求和例题(高精度乘与和)

作者: 优劣在于己 | 来源:发表于2020-10-18 08:36 被阅读0次

最近在洛谷上面看到一题,就想做个笔记,有关于高精度的题目

题目:求sum=1!+2!+3!+4!+...+n! (n<=50)

注意:用一般的c++方法肯定会超出精度,python自然不会(但是icpc与ccpc都不能用python呐),所以可以用python打表

python打表代码:


n=eval(input())

ans=0

d=1

for i in range(1,n+1):

  d*=i

  ans+=d

  print(ans)

思路:这题呢,就是每一位乘,然后再往前进

不采用打表的完整这题的c++代码如下:


#include

#include<cstring>

using namespace std;

int a[1000],b[1000],alen=1,blen=1,n;

int main(){

    cin>>n;

    memset(b,0,sizeof b);

    memset(a,0,sizeof a);

    a[1]=b[1]=1;

    for(int i=2;i<=n;i++){

        int x=0;

        for(int j=1;j<=alen;j++){

            a[j]=a[j]*i+x;

            x=a[j]/10;

            a[j]%=10;

        }

        while(x){

            a[++alen]=x%10;

            x/=10;

        }

        if(blen<alen)blen=alen;

        for(int j=1;j<=blen;j++){

            b[j]=b[j]+a[j]+x;

            x=b[j]/10;

            b[j]%=10;

        }

        while(x){

            b[++blen]=x%10;

            x/=10;

        }

        for(int i=blen;i>0;i--)

            cout<<b[i];

        cout<<endl;

    }

    for(int i=blen;i>0;i--)

        cout<<b[i];

    cout<<endl;

    return 0;

}

相关文章

  • 阶乘求和例题(高精度乘与和)

    最近在洛谷上面看到一题,就想做个笔记,有关于高精度的题目 题目:求sum=1!+2!+3!+4!+...+n! (...

  • 高精度 - 阶乘

    1 题目描述 输入某一个自然数N,求N(0≤N≤10000)的阶乘即N!是多少。 1.1 输入 输入只有一个数N。...

  • 52 高精度阶乘

    《魔法宝典》对于修罗王是如此重要,是因为《宝典》里记载了很多匪夷所思的魔法原理。例如很久以前,主流魔法界认为传说中...

  • 17-12-8版子

    高精度加法 高精度乘法 快速乘法 二分匹配 阶乘长度(Stirling公式) 并查集 树状数组 树状数组的逆序数 ...

  • 常用算法

    一、高精度计算 1. 阶乘运算 2. C++类 3. 冒泡排序 注意sprintf和sscanf保存数字的方式为字...

  • Golang Float高精度计算,无误差

    Golang Float乘Float高精度,转Int高精度。 使用big.Float bigF1 := new(b...

  • Numpy学习笔记(二)

    Numpy读写文件 数据分析常用的函数 数组修剪和压缩 阶乘 相关性 判断数组里数据正负性 ‘’乘与dot函数*N...

  • 对应循环练习

    阶乘和与1到100的和:

  • 数据结构----递归

    1.使用递归实现阶乘 2.用递归求和(普通实现方式) 3.另一种递归求和实现 4.循环和递归的优缺点 使用递归能实...

  • 2、尾部的零

    题目描述 设计一个算法,计算出n阶乘中尾部零的个数 思路 n阶乘能产生尾数0,换言之就是问n阶乘能乘出多少个101...

网友评论

      本文标题:阶乘求和例题(高精度乘与和)

      本文链接:https://www.haomeiwen.com/subject/tfbqmktx.html