该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

/*

程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀。

程序意义:加强自己对于大数的处理。

说明:此程序对乘法和除法还未做任何优化,如果用上位运算的知识应该可以继续优化。 */ #include #define N 10000//宏定义数组长度 int main()

{

int nResult[N] = {0};//必须用一个足够大的数组来存储计算结果来确保计算结果不会溢出

int nDigit = 1; //位数

int nTemp = 0;//阶乘的任一元素与临时结果的某位的乘积结果

int i = 0;

int j = 0;

int nCarry = 0;//进位

int nNum = 0;

printf("Please input n:");

scanf("%d", &nNum);

nResult[0] = 1;//先将结果初始化为1

for (i = 2; i <= nNum; i++)//开始阶乘,阶乘元素从2开始一次“登场”

{

//按最基本的乘法运算思想来考虑,将临时结果的每位与阶乘元素相乘

for (j = 1, nCarry = 0; j <= nDigit; j++)

{

nTemp = nResult[j - 1]*i + nCarry;//相应阶乘中的一项与当前所得临时结果的某位相乘且加上进位

nResult[j - 1] = nTemp % 100000;//更新临时结果的位上信息

nCarry = nTemp / 100000;//看是否有进位

}

while (nCarry)//判断当前临时结果的最高位是否有进位

{

nResult[nDigit++] = nCarry % 100000;//新增一位

nCarry /= 100000;//看是否还能继续进位

}

}

for (i = nDigit; i >= 1; i--)//显示结果

{

printf("%d", nResult[i - 1]); if (0 == nResult[i - 1])

{

printf("0000");//因为每个数组元素存储5位数字,每次输出项为0时需补上缺少的4个零

}

}

printf("\r\n");

return 0;

}

50阶乘c语言思想,求10000的阶乘(c语言代码实现)相关推荐

  1. 50的阶乘用c语言编写,求10000的阶乘(c语言代码实现)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...

  2. 一万的阶乘c语言方法,求10000的阶乘(c语言代码实现)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...

  3. 如何用递归思想 求n的阶乘 C语言

    如何用递归思想 求n的阶乘 C语言 首先,我讲一下什么是递归? 一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数.执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函 ...

  4. c语言程序设计阶乘输出,C语言编写10的阶乘,用C语言编程求10的阶乘

    导航:网站首页 > C语言编写10的阶乘,用C语言编程求10的阶乘 C语言编写10的阶乘,用C语言编程求10的阶乘 匿名网友: 思路:先定义一个函数求一个数的阶乘,接着依次从1到10调用该函数就 ...

  5. 【算法设计与分析】—— n的阶乘问题(eg:求100的阶乘 结果中的所有位数都精确输出)

    n的阶乘问题(eg:求100的阶乘 结果中的所有位数都精确输出) 算法题目 算法分析 代码实现 结果示例 算法题目 其实这个求n的阶乘问题,我们在刚刚学习c语言的时候,应该就有大致的了解过了,那个时候 ...

  6. 阶乘在c语言代码大全,求10000的阶乘(c语言代码实现)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...

  7. c语言如何实现阶乘,求10000的阶乘(c语言代码实现)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...

  8. n阶乘的c语言代码,求10000的阶乘(c语言代码实现)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...

  9. 如何用c 语言编写阶乘程序,求10000的阶乘(c语言代码实现)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...

最新文章

  1. 织梦mysql占用资源_解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记
  2. Linux shell脚本基础学习
  3. python导入pandas出错_构建d时如何解决python-pandas导入错误
  4. 格式说明_法律文书:公司单位民事起诉状格式范本及说明,最高人民法院2016...
  5. Android --- 动态获取定位权限时: Fragment 中 onRequestPermissionsResult 方法不执行
  6. OpenCASCADE绘制测试线束:数据交换命令之XDE 图层命令
  7. 通信(2)---5G网络到底能带来什么?
  8. Git教程、python教程、ubuntu教程 收藏
  9. 在Simulink中对S 函数进行参数传递的三种方法
  10. linux程序开发ide,LiteIDE 开发工具指南 (Go语言开发工具)
  11. 文本特征提取方法介绍
  12. 麦考利久期公式(c语言实现)
  13. 寻找软件智能的根--- aaas内部遵循的唯一原则
  14. 网站域名服务器怎么备案,网站域名服务器怎么备案
  15. java语言运行机制
  16. SpaceSyntax【空间句法】之DepthMapX学习:第二篇 输出了什么东西 与 核心概念
  17. 动态规划之神奇的口袋
  18. git命令解决冲突解决
  19. 自定义UDF函数:随机生成N位随机数,包含字母,数字
  20. 高密度配线架选择指南

热门文章

  1. 贺利坚老师汇编课程54笔记:SF符号标志SIGN FLAG
  2. [转载]MyISAM InnoDB 区别
  3. RANDOM模块:PYTHON获取随机数
  4. visual studio code(vs code) 编译、运行、调试程序(调用g++)
  5. Flask+Mysql搭建网站之数据库问题
  6. iOS关于代理的理解
  7. [转载] Python——函数练习(包括简单递归)
  8. Python 建模步骤
  9. 007 使用SpringMVC开发restful API五--异常处理
  10. spring mvc 解决后台传递值乱码问题