首页 技术 正文
技术 2022年11月23日
0 收藏 319 点赞 3,891 浏览 1421 个字

N!
Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 43937    Accepted Submission(s): 12362

Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!

Input
One N in one line, process to the end of file.

Output
For each N, output N! in one line.

Sample Input
1
2
3

Sample Output
1
2
6

#include <stdio.h>
#include <string.h>
#define MAX_LEN 40000
int s[MAX_LEN];

int main()
{
    int n;
    while(scanf(“%d”,&n)!=EOF)
    {
        int i,j,t,sum;
        memset(s,0,sizeof(s));
        s[0]=1;
        for(i=2;i<=n;i++)
        {
            t=0;;
            for(j=0;j<MAX_LEN;j++)
            {
                sum=s[j]*i+t;
                s[j]=sum%10;
                t=sum/10;
            }
        }
        for(i=MAX_LEN-1;(i>0)&&(s[i]==0);i–);
        for(;i>=0;i–)
        printf(“%d”,s[i]);
        printf(“\n”);
    }
    return 0;   
}

//此解法耗时3500MS

#include <stdio.h>
#include <string.h>
#define MAX_LEN 40000
int a[MAX_LEN];
int main()
{
    int m;
    while(scanf(“%d”,&m)!=EOF)
    {
        int i,j,len=0,tem,jin;
        memset(a,0,sizeof(a));
        a[0]=1;
        for(i=2;i<=m;i++)
        {
            jin=0;
            for(j=0;j<=len;j++)
            {
                tem=a[j]*i+jin;
                a[j]=tem%10;
                jin=tem/10;
                if(j==len&&jin!=0)  //如果需要进一位,len+1,这样可以减少循环次数
                len++;
                }
            }
            for(i=len;i>=0;i–)
            printf(“%d”,a[i]);
            printf(“\n”);
        }
        return 0;
}

//此解法耗时1218MS

//此解法节省时间

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,956
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,480
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,327
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,110
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,741
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,776