微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NYOJ大数阶乘 南工28

题目链接here~~

大数处理:大数乘小数

#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
int a[10010];
int main()
{
    int i,m,t,j,c;
    while (cin>>m)
    {
        memset(a,sizeof(a));
        a[0]=1;
        t=0;
        for (i = 1; i<=m; i++)
        {
            c=0;
            for (j = 0; j<=t; j++)
            {
                a[j]=a[j]*i+c;
                c=a[j]/10000;
                a[j]=a[j]%10000;
            }
            if (c!=0)
            {
                t++;
                a[t]=c;
            }
        }
        cout<<a[t];
        for (i = t-1; i>=0; i--)
            printf("%04d",a[i]);
        cout<<endl;
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐