大数阶乘 nyoj
大数阶乘
- 描述
- 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
- 输入
- 输入一个整数m(0<m<=5000)
- 输出
- 输出m的阶乘,并在输出结束之后输入一个换行符
- 样例输入
-
50
- 样例输出
-
30414093201713378043612608166064768844377641568960512000000000000思路:模拟人工计算的方法计算:a b* c------------------d+(remainder) e d+b*c的进位; 如果乘积为一位数,则a[j]中,余数为0,如果成绩超过前一个数的位数是,j的for循环处理完之后remainder(余数)不为0,会进入while循环,会把当前的a数组扩容一位,存下余数,并且当前数字的位数+1由于存进去的都输余数,最后选择逆序数出,
#include <iostream>
using namespace std;int a[2005];
int main()
{
int m,remainder,digit,temp;
cin>>m;
a[0]=1;
remainder=0; //余数初始化为0
for(int i=2;i<=m;i++) // 要处理的位数
{
for(int j=0;j<digit;j++)
{
temp=a[j]*i+remainder;
a[j]=temp%10;
remainder=temp/10;
}
while(remainder)
{
a[digit]=remainder%10;
remainder/=10;
digit++;
}
}
for(int i=digit-1;i>=0;i--)
cout<<a[i];
cout<<endl;
return 0;
}
大数阶乘 nyoj的更多相关文章
- nyist28大数阶乘
http://acm.nyist.net/JudgeOnline/problem.php?pid=28 大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们 ...
- 大数阶乘(c语言)
大数阶乘.代码比较简单. #include<stdio.h> #include<string.h> #define MAXN 25000 // 如果你的阶乘N比较大,建议大一点 ...
- 【大数阶乘】NYOJ-28
大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数 ...
- 【ACM】大数阶乘 - Java BigInteger实现
大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数 ...
- nyoj___大数阶乘
http://acm.nyist.net/JudgeOnline/problem.php?pid=28 大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知 ...
- 大数阶乘(c++实现)
#include <iostream>using namespace std;#define N 1000int BigNumFactorial(int Num[], int n);voi ...
- HDU 1133 Buy the Ticket (数学、大数阶乘)
Buy the Ticket Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- nyoj 28 大数阶乘
题目链接:nyoj 28 就是个简单的高精度,只是一开始我打表超内存了,然后用了各种技巧硬是把内存缩到了题目要求以下(5w+kb),感觉挺爽的,代码如下: #include<cstdio> ...
- NYOJ题目28大数阶乘
-------------------------------------祭出BigInteger AC代码: import java.math.BigInteger; import java.uti ...
随机推荐
- Ant Man CodeForces - 704B (图论,贪心)
大意: 给N个点,起点S终点T,每个点有X,A,B,C,D,根据I和J的X坐标可得I到J的距离计算公式 |xi - xj| + ci + bj seconds if j< i |xi - xj| ...
- c++中的new和delete
对于计算机程序设计而言,变量和对象在内存中的分配都是编译器在编译程序时安排好的,这带来了极大的不便,如数组必须大开小用,指针必须指向一个已经存在的变量或对象.对于不能确定需要占用多少内存的情况,动态内 ...
- POJ-3087 Shuffle'm Up (模拟)
Description A common pastime for poker players at a poker table is to shuffle stacks of chips. Shuff ...
- svn出错:directory 'xxxx' is out of date
- 55. 45. Jump Game II *HARD*
1. Given an array of non-negative integers, you are initially positioned at the first index of the a ...
- OC Foundation框架—字符串
一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableA ...
- 深入理解BootStrap Item1-- 列表组(list-group)
class=”pull-right”:右对齐下拉菜单 list-group-item:列表组,控制列表,以及添加列表徽章 1.列表组 列表组是Bootstrap框架新增的一个组件,可以用来制作列表清单 ...
- forget word qz_c
1● circum s ək ʌm 圆周 环绕 周围 2● co 元音前 共同 3● col 4● cor 铺音前 共同 5● com 6● con 共同
- forget word out a~2
1● an 不,非,无 2● amphi 两个,两种 3● ad 做,加强:
- sql server中的大数据的批量操作(批量插入,批量删除)
首先我们建立一个测试用员工表 ---创建一个测试的员工表--- create table Employee( EmployeeNo int primary key, --员工编号 EmployeeNa ...