N!

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

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
 
题目分析:用数组模拟乘法。让a[0]保存结果的各位,a[1]是十位,a[2]是百位……(为什么要逆序表示呢?因为如果按照从高到低的顺序储存,一旦进位的话就……),则每次只需要模拟手算即可完成n!。在输出时需要忽略前导0.注意,如果结果本身就是0,那么忽略前导0后将什么都不输出。所幸n!肯定不等于0,因此本题可以忽略这个细节。
#include<stdio.h>
#include<string.h>
const int maxn=40000; /*数组不能太小,小了存不下*/
int a[maxn];
int main()
{
int i,j,n;
while(~scanf("%d",&n))
{
memset(a,0,sizeof(a));
a[0]=1;
for(i=2;i<=n;i++)
{
int c=0; /*保存进位*/
for(j=0;j<maxn;j++)
{
int s=a[j]*i+c;
a[j]=s%10;
c=s/10;
}
}
for(j=maxn-1;j>=0;j--) /*去掉前导零*/
if(a[j])
break;
for(i=j;i>=0;i--)
printf("%d",a[i]);
printf("\n");
}
return 0;
}

hdu 1042 N! 高精度运算的更多相关文章

  1. hdu 1042 N!(高精度乘法 + 缩进)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目大意:求n!, n 的上限是10000. 解题思路:高精度乘法 , 因为数据量比较大, 所以 ...

  2. hdu 1042 N!(高精度乘法)

    Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!   Input One N in ...

  3. Hdu 1042 N! (高精度数)

    Problem Description Givenan integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input OneN in one ...

  4. HDU 1042 N! 參考代码

    HDU 1042 N! 题意:给定整数N(0 ≤ N ≤ 10000), 求 N! (题目链接) #include <iostream> using namespace std; //每一 ...

  5. 高精度运算专题3-乘法运算(The multiplication operation)

    这个专题呢,我就来讲讲高精度的乘法,下面是三个计算乘法的函数,第一个函数是char类型的,要对字符串进行数字转换,而第二个是两个int类型的数组,不用转换成数字,第三个则更为优化,用a数组-b数组放回 ...

  6. [code]高精度运算

    数组存储整数,模拟手算进行四则运算 阶乘精确值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #includ ...

  7. 系统的讲解 - PHP 浮点数高精度运算

    目录 概述 浮点数运算的"锅" 任意精度数学函数 常用数值处理方案 扩展 小结 概述 记录下,工作中遇到的坑 ... 关于 PHP 浮点数运算,特别是金融行业.电子商务订单管理.数 ...

  8. #C++初学记录(高精度运算)(加法)

    高精度运算 不管是int还是double亦或者long long ,这些定义变量都有数据范围的一定限制,在计算位数超过十几位的数,也就是超过他们自身的数据范围时,不能采用现有类型进行计算,只能自己通过 ...

  9. ICPC Asia Nanning 2017 F. The Chosen One (高精度运算)

    题目链接:The Chosen One 比赛链接:ICPC Asia Nanning 2017 题意 \(t\) 组样例,每组给出一个整数 \(n(2\le n\le 10^{50})\),求不大于 ...

随机推荐

  1. python爬虫:抓取下载电影文件,合并ts文件为完整视频

    目标网站:https://www.88ys.cc/vod-play-id-58547-src-1-num-1.html 反贪风暴4 对电影进行分析 我们发现,电影是按片段一点点加载出来的,我们分别抓取 ...

  2. LCT摘要

    介绍.用途 LCT是树链剖分中的一种,又叫实链剖分.动态树,常用于维护动态的树.森林. 维护方式 LCT并不直接维护原树,而是用一堆splay作为辅助树来维护.原树中的一条实链上的点在一棵splay中 ...

  3. 开启@EnableRedisHttpSession

    sessionId=569662ce-c6d5-42a9-a94b-c9df826df716 1800秒后失效 sessionId=23913542-9b5f-4699-8a87-1023b57f5f ...

  4. tensorflow实现猫狗大战(分类算法)

    本次使用了tensorflow高级API,在规范化网络编程做出了尝试. 第一步:准备好需要的库 tensorflow-gpu  1.8.0 opencv-python     3.3.1 numpy ...

  5. Linux入门——文件系统目录结构

    不同操作系统对于文件系统的组织是不一样的,当前主流的两大类操作系统windows和Linux它们在文件系统组织方式上有很大差别.windows的文件系统是以驱动器盘符为基础,这样文件是挂载在分区上的, ...

  6. MySQL问题解决:-bash:mysql:command not found

      问题:        [root@linux115 /]# mysql -uroot -p          -bash: mysql: command not found    www.2cto ...

  7. MySQL 数据库性能优化之SQL优化【转】

    优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑, ...

  8. 【转】使用TCP协议连续传输大量数据时,是否会丢包,应如何避免?

    使用TCP协议连续传输大量数据时,是否会丢包,应如何避免? 比如发送文件.记得有人提过可能会发生什么堆栈溢出.怎样避免呢?是不是可以收到数据后发送确认包,收到确认包后再继续发送.或是发送方发送了一些数 ...

  9. py-faster-rcnn在windows下安装

    准备好vs2013+anaconda2+好点的显卡(比如GTX970) 先改造caffe-rfcn以支持cudnn5,得到caffe-rfcn-cudnn5:替换个别代码文件和代码:改.props 再 ...

  10. Oracle JDK vs OpenJDK

    OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的“开源”是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea.UltraViolet都是从OpenJDK源码衍生出的 ...