1. /*
  2. N!
  3. Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)
  4. Total Submission(s): 67077 Accepted Submission(s): 19228
  5.  
  6. Problem Description
  7. Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
  8.  
  9. Input
  10. One N in one line, process to the end of file.
  11.  
  12. Output
  13. For each N, output N! in one line.
  14.  
  15. Sample Input
  16.  
  17. 1
  18. 2
  19. 3
  20.  
  21. Sample Output
  22.  
  23. 1
  24. 2
  25. 6
  26.  
  27. Author
  28. JGShining(极光炫影)
  29.  
  30. Recommend
  31. We have carefully selected several similar problems for you: 1715 1063 1753 1316 1013
  32. */
  33. #include <iostream>
  34. #include<stdio.h>
  35. using namespace std;
  36. const int Len = ;
  37. int *a =new int[Len];
  38. int main()
  39. {
  40. int i,j,n,pos,over;
  41. //double test;
  42. while(scanf("%d",&n)!=EOF)
  43. {
  44. //test=1;
  45. pos=;
  46. a[]=;
  47. for(i=; i<=n; i++)
  48. {
  49. over=;
  50. for(j=; j<=pos; j++)
  51. {
  52. a[j]*=i;
  53. a[j]+=over;
  54. over=a[j]/;//each five bit calculate
  55. a[j]%=;
  56. }
  57. if(over!=)
  58. {
  59. pos+=;
  60. a[pos]=over;
  61. }
  62. }
  63. printf("%d",a[pos]);//high-five-bit output-length follow its length
  64. for(i=pos-; i>=; i--)
  65. {
  66. printf("%05d",a[i]);//others output-length must be five
  67. }
  68. printf("\n");
  69. //for(i=1;i<=n;i++)
  70. //test*=i;
  71. //printf("%f\n",test);
  72. }
  73. return ;
  74. }

hdu1042 N!的更多相关文章

  1. HDU1042(N!)题解

    HDU1042(N!)题解 以防万一,题目原文和链接均附在文末.那么先是题目分析: [一句话题意] 计算N的阶乘并输出. [题目分析] 题给范围上限是10000,那么毫无疑问是大数题.之前我整理过各种 ...

  2. HDU-1042 N!

    首先明白这是大数问题,大数问题大多采用数组来实现.如何进位.求余等.比如1047 (Integer Inquiry): 对于1042问题 计算10000以内数的阶乘,因为10000的阶乘达到35660 ...

  3. 杭电HDU1042(有点坑的高精度)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题意: Given an integer N(0 ≤ N ≤ 10000), your task i ...

  4. HDU1042 N! 大数的阶乘

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 由于数字特别大, 所以用数组来模拟. 经测试, 数组大小开50000 可过. 附AC代码, 欢迎 ...

  5. hdu1042(大数模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 在网上找了个大数模板方便以后用得到. #include<iostream> #inc ...

  6. hdu1042

    #include"stdio.h" #include"stdlib.h" #include"string.h" #define N 1000 ...

  7. 用Java进行大数处理(BigInteger)-hdu1042

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目描述: 代码实现: import java.util.Scanner; import jav ...

  8. (大数 万进制) N! hdu1042

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Subm ...

  9. HDU-1042.N!(大数与小数相乘的乘法模拟)

    本题大意:给定一个10000以内的整数n,让你求出n!并输出. 本题思路:先初始化一个存放答案的数组ans,初始ans[0] = 1,并初始化其剩下的元素为0,接着就从2开始依次与ans数组内的每一个 ...

随机推荐

  1. Python轻量Web框架Flask使用

    http://blog.csdn.net/jacman/article/details/49098819 目录(?)[+] Flask安装 Python开发工具EclipsePyDev准备 Flask ...

  2. [PE结构分析] 10.基址重定位

    源代码如下: typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; // WORD Type ...

  3. 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...

  4. Linux Shell系列教程之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

  5. 微软Asp.net MVC5生命周期流程图

           .NET WEB Development blog 发布了Asp.net MVC5生命周期文档, 这个文档类似Asp.net应用程序生命周期,您以前开发ASP.NET WEB应用程序应该 ...

  6. C#6.0语法糖剖析(二)

    1.索引初始化 使用代码 ] = ] = ] = "thirteen"}; 编译器生成的代码 Dictionary<int, string> dictionary2 = ...

  7. [Xamarin.Android] Support Library Tips

    [Xamarin.Android] Support Library Tips Support Library支持内容 Xamarin Support Library每个版本支持.那些组件,可以参考这份 ...

  8. gulp小记(无刷新重载样式)

    之前在使用sass的时候,使用了一个不错的工具koala,其实它的原理就是监视sass文件的变化,去编译css而gulp也能为我们做这样的事并且更多 使用gulp之前我们要做一些准备工作 1)安装no ...

  9. HTML <map> 标签-创建带有可点击区域的图像映射

    定义和用法 定义一个客户端图像映射.图像映射(image-map)指带有可点击区域的一幅图像. 所有主流浏览器都支持 <map> 标签. 注释:area 元素永远嵌套在 map 元素内部. ...

  10. iOS设计模式之中介者模式

    中介者模式 基本理解 中介者模式又叫做调停者模式,其实就是中间人或者调停者的意思. 尽管将一个系统分割成许多对象通常可以增加可复用性,但是对象之间的连接又降低了可复用性. 如果两个类不必彼此直接通信, ...