Problem Description

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

Input

OneN in one line, process to the end of file.

Output

Foreach N, output N! in one line.

Sample Input

1

2

3

Sample Output

1

2

6

Author

JGShining(极光炫影)

/*********

高精度数,大数阶乘

类比十进制,模拟一个万进制的算法算法,参考:http://blog.csdn.net/lulipeng_cpp/article/details/7437641

用int 存数位,10000*100000<2^31,所以我每一位存了 100000,当然与 10000是类似的

*********/

Code:

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<cmath>
using namespace std;
/**
计算阶乘位数,顺便把POJ 1423 给A了
#define PI 3.141592653589793239
#define ee 2.7182818284590452354
int ans(int n){
return (int)((n*log10(n/ee)+log10(sqrt(2*n*PI))))+1;
} */
int num[8000];
int main()
{
int n,i,j;
while(cin>>n)
{
memset(num,0,sizeof(num));
num[0] = 1;
for(i = 2;i<=n;i++)
{
for(j = 0;j<8000;j++)
num[j]*=i;
for(j = 0;j<8000;j++)
{
num[j+1] += num[j]/100000;
num[j] %= 100000;
}
}
int len = 8000;
while(num[len] == 0)
{
len--;
}
cout<<num[len];
for(i = len-1;i>=0;i--)
{
printf("%.5d",num[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! 高精度运算

    N!                                                                              Time Limit: 10000/50 ...

  4. HDU 1042 N! 參考代码

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

  5. 网络流(最大流) HDU 1565 方格取数(1) HDU 1569 方格取数(2)

      HDU 1565 方格取数(1) 给你一个n*n的格子的棋盘,每个格子里面有一个非负数.从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的 ...

  6. HDU 1565 - 方格取数(1) - [状压DP][网络流 - 最大点权独立集和最小点权覆盖集]

    题目链接:https://cn.vjudge.net/problem/HDU-1565 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32 ...

  7. 【高精度】高精度数除以低精度数I

    问题 G: [高精度]高精度数除以低精度数I 时间限制: 1 Sec  内存限制: 512 MB提交: 173  解决: 71[提交] [状态] [讨论版] [命题人:] 题目描述 修罗王聚集了庞大的 ...

  8. HDU 1042 大数阶乘

    B - 2 Time Limit:5000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  9. hdu 1715 大菲波数(高精度数)

    Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Inpu ...

随机推荐

  1. Microsoft .NET Pet Shop 4

    Microsoft .NET Pet Shop 4:将 ASP.NET 1.1 应用程序迁移到 2.0 299(共 313)对本文的评价是有帮助 - 评价此主题 发布日期 : 2006-5-9 | 更 ...

  2. 用intent打开各种类型文件

    public class MyIntent { //android获取一个用于打开HTML文件的intent public static Intent getHtmlFileIntent( Strin ...

  3. cocos2d-x 纹理研究

    转自:http://blog.csdn.net/qq51931373/article/details/9119161 1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要 ...

  4. http://www.360doc.com/content/10/1012/09/3722251_60285817.shtml

    http://www.360doc.com/content/10/1012/09/3722251_60285817.shtml http://www.docin.com/p-163063250.htm ...

  5. centos 改动字符集为GB2312的方法

    这几天总是被一个问题困扰着,那就是base64的加密,在centos server上无法解密.经过重复測试才发现,原来是由于centos 系统没有GB2312库导致的. 加密端是在ASP.NET中处理 ...

  6. Abap 内表的语法

    ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的  内表支持循环对每行数据进行操作,也支持整体操作 ...

  7. mha日常维护命令

    mha日常维护命令 http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml 1.查看ssh登陆是否成功masterh ...

  8. js数组定义和获取其长度

    1.只有值组成的数组,必须先定义数组对象. 定义 var arrs=new array()或 var arrs=[]; 赋值: arrs[]="he";arrs[]="c ...

  9. Linux 学习笔记 基本的bash shell命令

    Linux 文件系统 Linux讲文件存储在单个目录结构(虚拟目录)中,虚拟目录包含了安装在PC上的所有存储设备的文件路径. Linux虚拟目录中比较复杂的部分是它如何来协调管理各个存储设备.Linu ...

  10. linux 学习笔记 GNU工具链简介

    我们通常无法直接通过Linux内核,而需要借助Linux内核之上的GUN工具链来进行 文件处理 文本操作 进程管理 等操作. GNU/Linux shell为用户提供了 启动程序 管理文件系统上的文件 ...