题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1042

Problem Description
Given an integer N( ≤ N ≤ ), 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 Sample Output

题意:求N!(N<10000)

方法:用数组储存数,因为位数太多,每位存5个数

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
using namespace std;
#define N 10010
#define met(a,b) memset(a,b,sizeof(a));
vector<vector<int> >Q;
int a[N],n;
void add(int m)
{
for(int i=;i<N;i++)
{
a[i]=a[i]*m;
}
for(int i=;i<N-;i++)
{
a[i+]+=a[i]/;
a[i]=a[i]%;
}
}
void put(int a[])
{
int i=N-;
while(!a[i])i--;
printf("%d",a[i]);
for(i--;i>=;i--)
printf("%04d",a[i]);
puts("");
}
void init()
{
a[]=;
for(int i=;i<=n;i++)
{
add(i);
}
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
if(n==)
{
printf("1\n");
continue;
} met(a,);
init();
put(a);
}
return ;
}

(hdu)1042 N! 大数相乘的更多相关文章

  1. HDU 1042 大数阶乘

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

  2. POJ 2389 Bull Math(水~Java -大数相乘)

    题目链接:http://poj.org/problem?id=2389 题目大意: 大数相乘. 解题思路: java BigInteger类解决 o.0 AC Code: import java.ma ...

  3. 大数相乘算法C++版

    #include <iostream> #include <cstring> using namespace std; #define null 0 #define MAXN ...

  4. java版大数相乘

    在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 http://blog.csdn.net/jianzhibeihang/article/details/4948267 用j ...

  5. Linux C/C++ 编程练手 --- 大数相加和大数相乘

    最近写了一个大数相乘和相加的程序,结果看起来是对的.不过期间的效率可能不是最好的,有些地方也是临时为了解决问题而直接写出来的. 可以大概说一下相乘和相加的解决思路(当然,大数操作基本就是两个字符串的操 ...

  6. HDU 1042 N! 參考代码

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

  7. Karatsuba乘法--实现大数相乘

    Karatsuba乘法 Karatsuba乘法是一种快速乘法.此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表.此算法主要用于两个大数相乘 ...

  8. leetcode 43 Multiply Strings 大数相乘

    感觉是大数相乘算法里面最能够描述.模拟演算过程的思路 class Solution { public String multiply(String num1, String num2) { if(nu ...

  9. Java 大数相乘、大数相加、大数相减

    思路来源:: https://blog.csdn.net/lichong_87/article/details/6860329 /** * @date 2018/6/22 * @description ...

随机推荐

  1. virtualenv下配置nginx uwsgi Django

    1.安装virtualenv,创建虚拟环境django15 sudo apt-get install virtualenv virtualenv env source bin/active pip i ...

  2. Mac中下载JDK手动更新出现“只支持10.7.3以上的系统版本”问题解决方案

    今天倒腾Hadoop,要修改源码,由于之前搞研究是基于hadoop1.0.3来做的,所以这次也用的这个版本,但是我电脑上Java的版本是1.8以上的,结果用ant编译hadoop源码报错,错误大概是这 ...

  3. 【原创】一个复制本地文件到Hadoop文件系统的实例

    import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net ...

  4. PAT 1038 体验Python之美

    1038. Recover the Smallest Number (30) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHE ...

  5. poj1149--PIGS(最大流)

    题意: 有m个猪圈 每个猪圈有不同数量的猪 [0, 1000]有n个顾客 每个顾客需要Bi头猪 有Ai个钥匙 能打开Ai个不同的猪圈顾客按顺序来买猪 只能买他有钥匙的猪 买完之后 这几个猪圈的猪可以相 ...

  6. A Tour of Go Type conversions

    The expression T(v) converts the value v to the type T. Some numeric conversions: var i int = 42 var ...

  7. position与anchorPoint

    相信初接触到CALayer的人都会遇到以下几个问题: 为什么修改anchorPoint会移动layer的位置?CALayer的position点是哪一点呢?anchorPoint与position有什 ...

  8. Android UI开发第三十二篇——Creating a Navigation Drawer

    Navigation Drawer是从屏幕的左侧滑出,显示应用导航的视图.官方是这样定义的: The navigation drawer is a panel that displays the ap ...

  9. context-param和init-param区别

    转载 http://www.cnblogs.com/hzj-/articles/1689836.html <context-param>的作用:web.xml的配置中<context ...

  10. Copy-VMFile

    将文件移到或移出虚拟机可能会产生问题.首先,你需要安装集成服务,打开文件共享.这只需要一个简单的PowerShell命令:Enable-VMIntegrationService.但是你必须登录到虚拟机 ...