http://acm.nyist.net/JudgeOnline/problem.php?pid=28

大数阶乘

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
输入
输入一个整数m(0<m<=5000)
输出
输出m的阶乘,并在输出结束之后输入一个换行符
样例输入
50
样例输出
30414093201713378043612608166064768844377641568960512000000000000
程序代码:
     
 #include<stdio.h>
#include<math.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
long a[];
int i,j,l,c,m=,w;
a[]=;
for(i=;i<=n;i++){
c=;
for(j=;j<=m;j++){
a[j]=a[j]*i+c;
c=a[j]/;
a[j]=a[j]%;
}
if(c>) {m++;a[m]=c;}
} w=m*+log10(a[m])+;
printf("%ld",a[m]);
for(i=m-;i>=;i--) printf("%4.4ld",a[i]);
printf("\n");
}
return ;
}
大数阶乘位数的计算方法是(int)log10(x)+ 
这个是计算x的位数的
log10(n!)=log10()+log10()+log10()+...+log10(n)

nyoj___大数阶乘的更多相关文章

  1. nyist28大数阶乘

    http://acm.nyist.net/JudgeOnline/problem.php?pid=28 大数阶乘 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 我们 ...

  2. 大数阶乘(c语言)

    大数阶乘.代码比较简单. #include<stdio.h> #include<string.h> #define MAXN 25000 // 如果你的阶乘N比较大,建议大一点 ...

  3. 【大数阶乘】NYOJ-28

    大数阶乘 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?   输入 输入一个整数 ...

  4. 大数阶乘 nyoj

    大数阶乘 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?   输入 输入一个整数 ...

  5. 【ACM】大数阶乘 - Java BigInteger实现

    大数阶乘 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?   输入 输入一个整数 ...

  6. 大数阶乘(c++实现)

    #include <iostream>using namespace std;#define N 1000int BigNumFactorial(int Num[], int n);voi ...

  7. HDU 1133 Buy the Ticket (数学、大数阶乘)

    Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  8. 大数阶乘(C/C++)

    高精度的运算在Java中是很容易实现的,就像 a + b Problem 一样,因为Java提供了相应的类库和API:但是在 C/C++ 当中就没有那么现成的类和API来让你调用了.本着“自己动手,丰 ...

  9. #035 大数阶乘 PTA题目6-10 阶乘计算升级版 (20 分)

    实际题目 本题要求实现一个打印非负整数阶乘的函数. 函数接口定义: void Print_Factorial ( const int N ); 其中N是用户传入的参数,其值不超过1000.如果N是非负 ...

随机推荐

  1. kvm介绍、安装及创建虚拟机

    kvm虚拟化介绍 一.虚拟化分类 1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...

  2. 单点登录之 CAS SSO 从入门到精通(第一天)

    转自:http://blog.csdn.net/lifetragedy/article/details/43817903 啊......it's quite a long time. 好久没更新博客了 ...

  3. 在LinuxMint19上安装搜狗拼音输入法

    写在前面 由于Linux mint是基于Ubuntu的深度改造,所以按照网上针对Ubuntu的安装方法基本都是有用的.LinuxMint自身就携带了IBUS和fcitx两个框架.然而并非每次都能正常使 ...

  4. php去除h5标签

    function html2text($str){  $str = preg_replace("/<style .*?<\\/style>/is", " ...

  5. Python 实现 Excel 里单元格的读写与清空操作

    #coding=utf-8 # coding=utf-8 作用是声明python代码的文本格式是utf-8,python按照utf-8的方式来读取程序. # 如果不加这个声明,无论代码中还是注释中有中 ...

  6. Spring Cloud 各个组件介绍

    从上图可以看出 Spring Cloud 各个组件相互配合,合作支持了一套完整的微服务架构: Eureka 负责服务的注册与发现,很好地将各服务连接起来. Hystrix 负责监控服务之间的调用情况, ...

  7. POJ 1703 Find them, Catch them(并查集高级应用)

    手动博客搬家:本文发表于20170805 21:25:49, 原地址https://blog.csdn.net/suncongbo/article/details/76735893 URL: http ...

  8. netsh wlan set hostednetwork 之后如何删除掉 配置 及终端无法获取IP的解决方法

    来源 微软 技术支持网站 仅仅禁用hostednetwork 是不行的,配置其实还在,彻底删除 配置可以按照如下操作进行: net stop wlansvcGet-ItemProperty " ...

  9. rmq问题和lca可以相互转化

    Sparse Table算法 一般RMQ的Sparse Table(ST)算法是基于倍增思想设计的O(Nlog2N) – O(1)在线算法 算法记录从每个元素开始的连续的长度为2k的区间中元素的最小值 ...

  10. [bzoj2789][Poi2012]Letters_树状数组

    Letters bzoj-2789 Poi-2012 题目大意:给定两个字符串A和B,每次交换A中相邻两个数.问至少交换多少次,可以将A变成B. 注释:$2\le n\le 10^6$ 想法:我们发现 ...