加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

HDU 1134 卡特兰数 大数乘法除法

发布时间:2020-12-14 02:32:09 所属栏目:大数据 来源:网络整理
导读:大数乘法:大数*(一个 int64 范围之内的数) 可以用分段乘法 以下是 n! (n=10000) 的代码 #includeiostream#includecstring#includecstdio#define N 10000using namespace std;int a[N];int main(){ int n,t,i,j,k; while(cinn) { memset(a,sizeof(a)); a[0
大数乘法:大数*(一个 int64 范围之内的数) 可以用分段乘法
以下是 n! (n<=10000) 的代码
#include<iostream>
#include<cstring>
#include<cstdio>
#define N 10000

using namespace std;

int a[N];

int main()
{
    int n,t,i,j,k;
    while(cin>>n)
    {
        memset(a,sizeof(a));
        a[0]=1;k=0;
        for(i=2;i<=n;i++)
        {
            t=0;
            for(j=0;j<=k;j++)
            {
                a[j]=a[j]*i+t;
                t=a[j]/100000;
                a[j]=a[j]%100000;
            }
            if(t>0)
            {
                k++;a[k]=t;
            }
        }
        printf("%d",a[k]);
        for(i=k-1;i>=0;i--)
        {
            printf("%05d",a[i]);
        }
        printf("n");
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读