Hdu 1042 N! (高精度数)
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! (高精度数)的更多相关文章
- hdu 1042 N!(高精度乘法 + 缩进)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目大意:求n!, n 的上限是10000. 解题思路:高精度乘法 , 因为数据量比较大, 所以 ...
- hdu 1042 N!(高精度乘法)
Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input One N in ...
- hdu 1042 N! 高精度运算
N! Time Limit: 10000/50 ...
- HDU 1042 N! 參考代码
HDU 1042 N! 题意:给定整数N(0 ≤ N ≤ 10000), 求 N! (题目链接) #include <iostream> using namespace std; //每一 ...
- 网络流(最大流) HDU 1565 方格取数(1) HDU 1569 方格取数(2)
HDU 1565 方格取数(1) 给你一个n*n的格子的棋盘,每个格子里面有一个非负数.从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的 ...
- HDU 1565 - 方格取数(1) - [状压DP][网络流 - 最大点权独立集和最小点权覆盖集]
题目链接:https://cn.vjudge.net/problem/HDU-1565 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32 ...
- 【高精度】高精度数除以低精度数I
问题 G: [高精度]高精度数除以低精度数I 时间限制: 1 Sec 内存限制: 512 MB提交: 173 解决: 71[提交] [状态] [讨论版] [命题人:] 题目描述 修罗王聚集了庞大的 ...
- HDU 1042 大数阶乘
B - 2 Time Limit:5000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- hdu 1715 大菲波数(高精度数)
Problem Description Fibonacci数列,定义如下: f(1)=f(2)=1 f(n)=f(n-1)+f(n-2) n>=3. 计算第n项Fibonacci数值. Inpu ...
随机推荐
- 火狐对innerHtml的支持问题
最新的Firefox是支持innerHTML的,但是不支持innerText.解决办法是将innerText换成textContent. $.getJSON("/api/Articles&q ...
- 关于unity3d播放flash动画,使用插件uniswf
主要就是代码了. 1.using UnityEngine; using System.Collections; using pumpkin.swf; using System.Collections. ...
- android学习日记03--常用控件checkbox/radiobutton
常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...
- Android屏幕分辨率详解(VGA、HVGA、QVGA、WVGA、WQVGA)
这些术语都是指屏幕的分辨率. VGA:Video Graphics Array,即:显示绘图矩阵,相当于640×480 像素: HVGA:Half-size VGA:即:VGA的一半,分辨率为480× ...
- Eclipse插件-easy-explore-1.0.4
下载地址:http://sourceforge.net/projects/easystruts/files/Easy%20Explorer%20for%20Eclipse/easy-explore-1 ...
- ajax的一部分知识
jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...
- IIS7下w3wp.exe进程CPU100%问题解决办法
IIS下经常会出现w3wp.exe进程的CPU使用率达到100%的情况,在IIS7出现之前,要想确定问题所在,可以通过WinDbg来调试分析,但整个过程对技术水平要求非常高,可以参考http:// ...
- 利用JS_SDK实现QQ第三方登录
前言 现如今,第三方登录已成为大部分网站必备的一项基础技能,引入时髦的第三方登录不仅能帮你吸引更多的用户,也让你的网站可以充分利用其他大型网站的用户资源.本次教程将让你的网站最快捷便利地引入QQ登录. ...
- 在DataTable中添加行和列数据
DataRow newRow = dtResult.NewRow(); newRow["ProName"] = "名字"; newRow["ProPr ...
- 精妙SQL语句介绍
说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL ...