http://acm.hdu.edu.cn/showproblem.php?pid=1042

题意清晰..简单明了开门见山的大数乘法..

10000的阶乘有35000多位 数组有36000够了

# include <stdio.h>
# include <string.h>
# define MAX 36000 int BigNum[MAX], NowLen; void Multi(int number)
{
int Temp[MAX]={0}, Tlen = 0, t;//Temp保存乘后结果 while(number > 0)
{
t = number % 10;//依次取当前乘数的低位
number /= 10; for(int i = 0, j = Tlen; i <= NowLen; i++)//模拟乘法 先不管进位
{
Temp[j++] += BigNum[i] * t;
}
Tlen++;//每乘完一位 Temp的开始读入位置+1
} for(int i = 0; i < MAX; i++)//处理进位 接收结果
{
if(Temp[i] > 9)
{
Temp[i + 1] += Temp[i] / 10;
BigNum[i] = Temp[i] % 10;
}
else BigNum[i] = Temp[i];
}
for(int i = MAX - 1; i >= 0; i--)//获取长度
{
if(BigNum[i] > 0)
{
NowLen = i;
break;
}
}
} int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
memset(BigNum, 0, sizeof(BigNum));
BigNum[0] = 1, NowLen = 0;//初值 初始长度
for(int i = 2; i <= n; i++)//模拟乘法
Multi(i); for(int i = NowLen; i >= 0; i--)//格式输出
printf("%d",BigNum[i]);
printf("\n");
} return 0;
}

  

HDOJ-1042 N!(大数乘法)的更多相关文章

  1. HDOJ 1042 N! -- 大数运算

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1042 Problem Description Given an integer N(0 ≤ N ≤ 1 ...

  2. 51nod 1027大数乘法

    题目链接:51nod 1027大数乘法 直接模板了. #include<cstdio> #include<cstring> using namespace std; ; ; ; ...

  3. [POJ] #1001# Exponentiation : 大数乘法

    一. 题目 Exponentiation Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 156373   Accepted: ...

  4. 用分治法实现大数乘法,加法,减法(java实现)

    大数乘法即多项式乘法问题,求A(x)与B(x)的乘积C(x),朴素解法的复杂度O(n^2),基本思想是把多项式A(x)与B(x)写成 A(x)=a*x^m+b B(x)=c*x^m+d 其中a,b,c ...

  5. 51 Nod 1027 大数乘法【Java大数乱搞】

    1027 大数乘法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个大整数A,B,计算A*B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度  ...

  6. 51 Nod 1028 大数乘法 V2【Java大数乱搞】

    1028 大数乘法 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 给出2个大整数A,B,计算A*B的结果. Input 第1行:大数A 第2行:大数B (A ...

  7. hdu_1042(模拟大数乘法)

    计算n! #include<cstring> #include<cstdio> using namespace std; ]; int main() { int n; whil ...

  8. (母函数 Catalan数 大数乘法 大数除法) Train Problem II hdu1023

    Train Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. 大数乘法|2012年蓝桥杯B组题解析第六题-fishers

    (9')大数乘法 对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的 ...

随机推荐

  1. 关于memcpy和memmove的一点说明

    今天看到书上降到memcpy和memmove的区别才突然发现原来两者之间有如此区别,以前只知道这两个函数是 实现同样的功能,没有接触到其不同. memcpy和memmove在MSDN的定义如下: 从两 ...

  2. Gson的基本使用方法(google)

    原文:http://www.jianshu.com/p/e740196225a4 原作者:怪盗kidou 依赖包配置: <dependency> <groupId>com.go ...

  3. IOS Xmpp 创建固定房间

    XMPPRoom *room; // 初始化房间 XMPPRoomCoreDataStorage *rosterstorage = [[XMPPRoomCoreDataStorage alloc] i ...

  4. Longest Palindromic Substring-----最长回文子串

    首先讲讲什么是回文, 看看Wiki是怎么说的:回文,亦称回环,是正读反读都能读通的句子.亦有将文字排列成圆圈者,是一种修辞方式和文字游戏.回环运用得当.能够表现两种事物或现象相互依靠或排斥的关系, 比 ...

  5. sun.misc.BASE64Encoder找不到包,解决方法

    右键项目->属性->java bulid path->jre System Library->access rules->resolution选择accessible,以 ...

  6. JS给元素循环添加事件的问题

    <ul> <li>男</li> <li>女</li> <li>老</li> <li>少</li&g ...

  7. [Python笔记][第三章Python选择与循环]

    1月28日学习 Python选择与循环 选择结构 多分枝选择结构 if 表达式 1: 语句块 1 elif 表达式 2: 语句块 2 elif 表达式 3: 语句块 3 ... else : 语句块 ...

  8. [Python笔记][第二章Python序列-tuple,dict,set]

    2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tup ...

  9. iOS基本内存管理:autorelease和autoreleasepool

    1.autorelease 基本用法 对象执行autorelease方法时会将对象添加到自动释放池中 当自动释放池销毁时自动释放池中所有对象作release操作 对象执行autorelease方法后自 ...

  10. 一种获取spring环境上下文方法:SpringContextUtil

    获得spring里注册Bean的有好几种方法,这里介绍一种比较简单的方法: import org.springframework.beans.BeansException; import org.sp ...