您的位置:首页 > 其它

Hust oj 2019 n! problem II(大数阶乘)

2016-03-05 15:48 246 查看
n! problem II
Time Limit: 1000 MSMemory Limit: 32768 K
Total Submit: 401(199 users)Total Accepted: 154(127 users)Rating:





Special Judge: No
Description
求阶乘看起来是一个很简单的问题,现在我们要计算一个不超过100的整数的阶乘。
Input
本题有多组测试数据,对于每组数据输入一个非负整数n(n不大于100),输入处理到文件结束。
Output
输出n的阶乘并换行。
Sample Input
1

2

3

Sample Output
1

2

6

Source
杨和禹求职记
Author
杨和禹

就是一个模拟大数阶乘,上模板就能过,网上的模板不知道为什么一直WA,于是逼得我自己写了一个QAQ,还是Java

大法好= =

#include<iostream>
#include<cstring>

using namespace std;

int main()
{
int a[300];
int n;
while(cin>>n)
{
int i,j,k;
int sum,ans=0;
int num=1;
a[0]=1;
for(i=2;i<=n;i++)
{
for(j=1;j<=num;j++)
{
sum=a[j-1]*i+ans;
a[j-1]=sum%10;
ans=sum/10;
}
while(ans)
{
a[num++]=ans%10;
ans/=10;
}
}
for(i=num-1;i>=0;i--)
{
cout<<a[i];
}
cout<<endl;
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: