2006年清华:N的阶乘

题目描述:

输入一个正整数N,输出N的阶乘。

输入:

正整数N(0<=N<=1000)

输出:

输入可能包括多组数据,对于每一组输入数据,输出N的阶乘

样例输入:
4
5
15
样例输出:
24
120
1307674368000
#include <cstdio>
#include <cstring>
using namespace std;
const int MAXN=10005;
struct BigInt{
    int e[MAXN];
    int len;
    BigInt()
    {
        memset(e,0,sizeof(e));
        len=0;
    }
    BigInt(long long v)
    {
        memset(e,0,sizeof(e));
        len=0;
        while(v!=0)
        {
            int k=v%10;
            e[len++]=k;
            v/=10;
        }
    }
    BigInt operator*(const BigInt &t)const
    {
        BigInt res;
        for(int i=0;i<len;i++)
        {
            int up=0;
            for(int j=0;j<t.len;j++)
            {
                int z=e[i]*t.e[j]+up+res.e[i+j];
                res.e[i+j]=z%10;
                up=z/10;
            }
            if(up!=0)
            {
                res.e[i+t.len]=up;
            }
        }
        res.len=len+t.len;
        while(res.len>1&&res.e[res.len-1]==0)    res.len--;
        return res;
    }
    void print()
    {
        for(int i=len-1;i>=0;i--)
            printf("%d",e[i]);
        printf("\n");
    }
}res[1005];
int main()
{
    int n;
    res[0].e[0]=1;
    res[0].len=1;
    for(int i=1;i<=1000;i++)
    {
        BigInt t(i);
        res[i]=res[i-1]*t;
    }
    while(scanf("%d",&n)!=EOF)
    {
        res[n].print();
    }
    return 0;
}

时间: 2024-10-12 17:33:18

2006年清华:N的阶乘的相关文章

剪辑的楼天城的ACM之路

楼天城楼教主的acm心路历程(剪辑) 利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个回顾.昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还清晰记得3 年前,我刚刚参加ACM 时参加北京赛区2005 和杭州赛区2005 的情况.2005 年ACM-ICPC——酸甜苦辣我进入清华大学开始本科学习的时间是2004 年8 月,在进入清华大学的第一年里,由于基础课学习比较紧张,再加上计算机系不允许大一学生自带电脑,我没有参加2004 年的ACM 比赛.不过在

中国大学生编程第一人:楼天城楼教主的acm心路历程

作为acm爱好者,分享下楼教主的故事,作为勉励 利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个回顾.昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还清晰记得3 年前,我刚刚参加ACM 时参加北京赛区2005 和杭州赛区2005 的情况.2005 年ACM-ICPC——酸甜苦辣我进入清华大学开始本科学习的时间是2004 年8 月,在进入清华大学的第一年里,由于基础课学习比较紧张,再加上计算机系不允许大一学生自带电脑,我没有参加2004 年的ACM 比

附加列表

qq:365543212 Email:[email protected] PTC系列产品:PTC Pro/Mechancia 2001 2001430 for 9x_NT_2000-ISO 1CD(正式版) PTC EMX 4.0 多媒体教程 PTC EMX 3.1 专家模具基体设计练习 PTC EMX 3.0 演示教学 1CD 龙记模架 For EMX 4.x B&W Expert Profiles 2.1 for Pro/E (梁结构分析) PTC CDRS 中文教程(25MB的pdf文档)

多年收集的一些稀有软件4

QQ:365543212 Geovariances产品: Geovariances Isatis 2013 1CD(地质统计学软件) Geovariances.Isatis.2016.Win64 1CD Geovariances Minestis 2016 v2.0.0 Win64 1CD 软脑公司产品: 3D-Sigma for WinALL-ISO 1CD(岩土体三维应力分析软件) 2D-Sigma for Win98 1CD(岩土体 二维应力分析软件) ITASCA产品: 3DEC.v4.

Yann LeCun清华演讲:深度学习与人工智能的未来

2017年3月22日下午,Facebook人工智能研究院院长.纽约大学终身教授Yann LeCun在清华大学大礼堂为校内师生以及慕名而来的业内人士呈现了一场主题为<深度学习与人工智能的未来(Deep Learning and the Future of AI)>的精彩公开课. 随着AlphaGo事件的不断发酵,神经网络成为时下人工智能产学领域万众瞩目的研究焦点,也成为普罗大众的热门话题.事实上,神经网络作为一种算法模型,很早就已经被广泛关注和研究,也曾长时间内陷入发展突破的低潮期.不过,在以G

清华EMBA课程系列思考之三 -- 中国经济与金融

清华EMBA的第三次课,大家都已经渐渐了解了课程系列的基本节奏,也逐步适应了思考的基本思路,本次课程涉及到的所有内容都非常专业,闲话少述,直入主题了. 李稻葵教授部分: 引言 学习中国经济与金融此课程的基本目的是: 1.分析与理解中国经济运行的基本机理 2.理解各级政府制定经济政策的考虑及其政策的原理 3.把握中国经济未来发展的走向 成为一位成功的企业领袖或者政治家必备的素质为必须具备"才"与"识",对于才识的理解可简言之识为必须,而才可弥补,(找外才补)而识不可由

清华教授谈人工智能:BAT还算不上伟大公司

清华大学教授邓志东最近明显“忙了起来”.他向新浪科技展示了最近的时间表:第二天有一场报告,报告结束后赶飞机去芜湖,周末深夜再回北京…… “人工智能终于到了风口”,一见面,邓志东就这样说. 从1992年来到清华开始博士后研究,再到2016年春天,邓志东见证了人工智能基础研究从高峰到低谷再到复兴的全过程.作为国内很早一批开始 研究深度神经网络的学者,他在人工智能领域钻研已经超过了20年,所研究的深度神经网络,是让机器学会识别分类的基础算法之一. 神经网络最惊人的“亮相”发生在今年3月中旬,谷歌旗下人

zz【清华NLP】图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐

[清华NLP]图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐 图神经网络研究成为当前深度学习领域的热点.最近,清华大学NLP课题组Jie Zhou, Ganqu Cui, Zhengyan Zhang and Yushi Bai同学对 GNN 相关的综述论文.模型与应用进行了综述,并发布在 GitHub 上.16大应用包含物理.知识图谱等最新论文整理推荐. GitHub 链接: https://github.com/thunlp/GNNPapers 目录            

算法-计算阶乘n!末尾0的个数

算法逻辑转载自计算阶乘n!末尾0的个数: 问题描述    给定参数n(n为正整数),请计算n的阶乘n!末尾所含有"0"的个数.    例如,5!=120,其末尾所含有的"0"的个数为1:10!= 3628800,其末尾所含有的"0"的个数为2:20!= 2432902008176640000,其末尾所含有的"0"的个数为4. 计算公式    这里先给出其计算公式,后面给出推导过程.    令f(x)表示正整数x末尾所含有的&q