HDU 1042N!

Posted fang-hao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1042N!相关的知识,希望对你有一定的参考价值。

题目链接

题目描述

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

就是算n!。

 

 

解题思路

没啥说的,高精度吧,注意一个数组足矣,不然会t。

 

 

代码

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int ans[50005];
 7 int n;
 8 int wei=1;
 9 inline void calc(int* a,int num){
10     for(register int i=0;i<=wei;i++){
11         a[i]*=num;
12     }
13     for(register int i=0;i<=50000;i++){
14         wei=i+1;
15         //if(!a[i])return;
16         if(a[i]>=10){
17             a[i+1]+=a[i]/10;
18             a[i]%=10;
19         }
20     }
21 }
22 int main(){
23     while(~scanf("%d",&n)){
24         wei=0;
25         memset(ans,0,sizeof(ans));
26         ans[0]=1;
27         for(register int i=2;i<=n;i++){
28             calc(ans,i);
29         }
30         for(register int i=wei;i>=0;i--){
31             if(ans[i]){
32                 for(;i>=0;i--){
33                     printf("%d",ans[i]);
34                 }
35             }
36         }
37         putchar(\n);
38     }
39 }

 

以上是关于HDU 1042N!的主要内容,如果未能解决你的问题,请参考以下文章

HDU4057 Rescue the Rabbit(AC自动机+状压DP)

HDU3247 Resource Archiver(AC自动机+BFS+DP)

POJ - 2778 ~ HDU - 2243 AC自动机+矩阵快速幂

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js