N!

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 82480    Accepted Submission(s): 24200

Problem Description
Given an integer N(0 ≤ N ≤ 10000), 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
1 2 3
Sample Output
1 2 6

如果正常的的话,递归或者迭代

// 递归计算阶乘
int factorial_recursion(int n){if(n<=0){return 1;}else{return n * factorial_recursion(n-1);}
}
// 迭代计算阶乘
int factorial_iteration(int n){int result = 1;while(n>1){result *= n;n--;}return result;
}

不过int不超过14就GG了。

所以还是用数组去模拟,用数组模拟了竖式除法,再输出结果

/*************************************************************************> File Name: N的阶乘.c> Author: YinJianxiang> Mail: YinJianxiang123@gmail.com > Created Time: 2017年06月20日 星期二 21时54分10秒************************************************************************/#include<stdio.h>
#include<string.h>int main(void) {long long result[10000];int num;int i;int j;while(scanf("%d",&num) != EOF) {memset(result,0,sizeof(result));result[0] = 1;for(j = 1;j < num;j++) {for(i = 0;i < 9999;i++) {result[i] *= j;for(i = 0;i < 9999;i++) {if(result[i] >= 10000) {result[i+1] += result[i] / 10000;result[i] %= 10000;}}}}for(i = 9999;i >= 0;i--) {if(result[i]) {break;}}printf("%lld",result[i]);for(j = i - 1;j >= 0;j--) {printf("%05lld",result[i]);}printf("\n");}return 0;
}

HDU1042 N!相关推荐

  1. HDU1042 n!【大数+万进制】

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

  2. HDU1042(高精度模拟乘法)

    方法一超时: #include<iostream> #include<algorithm> #include<cstring> #include<cmath& ...

  3. HDU-1042 N! 大数乘法 (C语言)

    这是一道简单的数学题,求一个数(N)的阶乘.但是问题是题中N给的非常大(0<=N<=10000),用for循环来做显然不行了.这里用数组来对付这些大家伙.基本思路如下: 1.开辟一个够大的 ...

  4. hdu1042 java_N! hdu1042 | 学步园

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  5. hdu1042 N!

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  6. hdu1042 java_hdu 1431 素数回文

    素数回文 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submission ...

  7. 大数——大数阶乘(hdu1042)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1042 题目描述:题目异常的简洁,所以很容易入坑.其实想一想,10000!这个数确实蛮恐怖的~ 一.我 ...

  8. Anaconda简单入门

    Anaconda入门 Anaconda简介 Anaconda是一个方便的python包管理和环境管理软件,一般用来配置不同的项目环境. 我们常常会遇到这样的情况,正在做的项目A和项目B分别基于pyth ...

  9. ACM的java 傻瓜式教学

    关于eclipse的配置 我感觉我讲不清[逃 开始 从配好之后讲起 文件名命名为Main.java[接下来几行解释为什么要起这个名字 注意第七行那里(为了方便复制我没有加行号)的类的名字必须与文件名相 ...

最新文章

  1. codevs1137 计算系数
  2. win8更改计算机账户密码忘记了怎么办,密码忘记怎么办?WIN8平板电脑如何重置密码?...
  3. Linux环境下安装Mysql+SphinxSE
  4. 社交类产品设计的9个点,整不好会挨怼~
  5. 【ARM】ARM其它指令
  6. ES6_对象简洁语法_note
  7. c语言作业统计字符,C语言统计字符数(示例代码)
  8. 使用Dockerfile构建Nginx,Tomcat,MySQL镜像
  9. 各种版本的Visual C++编译器
  10. ABP框架源码学习之修改默认数据库表前缀或表名称
  11. libevent源码分析系列
  12. 决定转移ubuntu
  13. 建筑建模学习笔记3——Vray渲染及PS修图
  14. 目标建立——SMART法则
  15. 计算机应用程序错误怎么解决办法,应用错误,教您怎么解决explorer.exe应用程序错误...
  16. maven打包报错Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.6.1:cle
  17. 搞定 conda 安装包报错问题
  18. EMR 上的 Spark 或 Hive 作业失败并出现 HTTP 503 “Slow Down” AmazonS3Exception
  19. VS2019如何修改字体
  20. 开源ETL工具kettle系列

热门文章

  1. win7计算机收藏夹位置,Win7收藏夹在哪?Win7怎么找收藏夹文件路径?
  2. 机器学习及SparkMLlib简介
  3. 8086的储存器编址
  4. linux进程管理原理
  5. 【CLAA系列】CLAA协议学习(CS方向)
  6. 新唐 Nuvoton NUC029 入门 点亮板载LED
  7. Hbuilderx打包视频网站APP实现全屏横屏旋转的方法
  8. 【038】翼辉携手太空链:拥抱商业航天发展
  9. 学习笔记|自动驾驶仿真工具-SCANeR studio
  10. hive 元数据 解释