求正整数的阶乘 c语言,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/*
程序功能:计算一个正整数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;
}
求正整数的阶乘 c语言,求10000的阶乘(c语言代码实现)相关推荐
- 50的阶乘用c语言编写,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- 阶乘在c语言代码大全,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- c语言如何实现阶乘,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- n阶乘的c语言代码,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- 一万的阶乘c语言方法,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- 如何用c 语言编写阶乘程序,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- 100的阶乘c语言代码,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- 求一个数的阶乘值c语言代码,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- c语言100000阶乘,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
最新文章
- linux 进程 内存 换入换出,linux - 在从bash进程替换完成输入后,如何继续发送到stdin? - 堆栈内存溢出...
- python爬虫小说代码示例-Python从零开始写爬虫-4 解析HTML获取小说正文
- 学python要多少钱-参加python培训要多少钱?
- Visual Studio 2010 新功能总结(一)
- Selenium自动化测试框架
- datatable导出Excel
- 组态王调用mysql存储过程_组态王与数据库通讯
- 年薪40W,如何高效准备大厂AI算法岗面试?
- 5G 是时候商用了?| 程序员硬核评测
- Linux初级阶段学习笔记-本地源YUM配置
- 信息图形化探索:图形化简历
- 在主函数中输入10个等长的字符串。用另一函数对他们排序。
- idea远程调试修改代码_利用IDEA远程调试代码
- 2020年全球激光雷达行业竞争格局分析,技术路线正处于快速发展迭代阶段「图」
- HaaS EDU场景式应用整体介绍
- 美团外卖前端可视化界面组装平台 —— 乐高
- Excel/pandas遍历各表拼接并对具体列进行文本筛选
- Vue2知识点 - RT
- Unity基于PDFRenderer插件实现文档查看功能
- 利用HOOKAPI拦截文件操作
热门文章
- java+icepdf+下载_Java使用icepdf将pdf文件按页转成图片
- ief12执行一次js才有效_陈列到底多久调一次才有效?
- java 叉号关闭_求助 java 如何编写JFrame窗体右上角红色打叉关闭按钮的事件?
- 基于JAVA+Swing+MYSQL的研究生科研信息管理系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的毕业论文设计管理系统
- 基于JAVA+SpringBoot+Mybatis+MYSQL的药房药品管理系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的漫画社区
- 解决gradle项目每次编译都下载gradle-x.x-all.zip gradle-x.x-bin.zip
- 【网络编程】time_wait状态产生的原因,危害,如何避免
- asp.net常见问题收集