博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1042 N!
阅读量:4551 次
发布时间:2019-06-08

本文共 1372 字,大约阅读时间需要 4 分钟。

N!

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)

Total Submission(s): 83996    Accepted Submission(s): 24766

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
 

 

Author
JGShining(极光炫影)
 

 

Recommend
We have carefully selected several similar problems for you:            
 
分析:一开始以为要用高精度,然后看了下 其他人的做法,原来可以直接用数组储存当前位
     然后又因为不知道 0!=1  WA了很多发..
     注意,一开始数组需要多长的话,可能需要试探性的取吧,再看ans[MAXN]是否为0
代码如下:
#include 
#include
#include
#include
#include
using namespace std;typedef long long ll;const int MAXN=40000;int ans[MAXN];int flag;int main(){ int n,r,tmp;while(scanf("%d",&n)!=EOF){ flag=0; memset(ans,0,sizeof(ans)); ans[0]=1; for(int i=2;i<=n;i++) { r=0; for(int j=0;j<=MAXN;j++) { tmp=ans[j]*i+r; ans[j]=tmp%10; r=tmp/10; } } for(int i=MAXN;i>=0;i--) { if(flag==0&&ans[i]==0) continue; else { flag=1; printf("%d",ans[i]); } } printf("\n"); } return 0;}

 

 
 
 

转载于:https://www.cnblogs.com/a249189046/p/7487722.html

你可能感兴趣的文章
Linux:文本处理工具
查看>>
java,for穷举,经典题目,百鸡百钱
查看>>
Solr4.7从文件创建索引
查看>>
6.9-LV/XML机器人数据存储
查看>>
Django ajax 发送post请求 前端报错解决
查看>>
About Me
查看>>
Android视频处理 --处理视频第一帧缩略图
查看>>
IOS中如何判断APP是否安装后首次运行或升级后首次运行
查看>>
关于反射
查看>>
全面解析构建私有云的两大核心架构组件
查看>>
在phpWeChat中如何定义一个授权登录(获取昵称)的链接
查看>>
python 符合条件跳过下一次循环
查看>>
mysql提示Column count doesn't match value count at row 1错误
查看>>
笑话,难道懂礼貌就必须说谎吗
查看>>
MySQL(二)
查看>>
第四章 –– 多态的概念
查看>>
C#中this的 四种 用法
查看>>
探究Windows RT的系统内存占用
查看>>
查域名对应的ip的命令:Nslookup
查看>>
JS offsetparent 问题
查看>>