100阶乘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;
}
100阶乘c语言如何实现,求10000的阶乘(c语言代码实现)相关推荐
- 100的阶乘c语言代码,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- c语言100阶乘的代码,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- 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的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- 求一个数的阶乘值c语言代码,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- c语言100000阶乘,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
最新文章
- python中不同进制的整数之间可以直接运算_Python 进制转换、位运算
- SylixOS 系统初探
- .NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5
- oracle检查外键依赖,Oracle中检查外键是否有索引的SQL脚本分享
- SQL Server:简繁转换
- eclipseEE连接mysql_mysql-eclipseEE连接MySQL出现问题,哪位大神可以帮我看看*^__^*,非常感谢...
- latex表插入的位置不对_VSCode_LaTex_英文amp;中文配置
- 推荐系统之粗排扮演的角色和算法发展历程
- docker(7):使用python 连接数据库,插入并查询数据--link
- ScrollView中布局不能充满ScrollView的问题
- Lattice Diamond Reveal SerDes Debug Core简明教程(For ECP5)
- JAVA ECXCEL 考勤导入查询
- 朗文3000词汇表带音标_朗文少儿英语2A-Unit3知识归纳(单词含音标版
- puzzle(102)数独
- 连接数据库超时设置autoReconnect=true,默认重试次数调整
- 云办公系统 skyeye v3.7.16 部分企业版开源
- 全面理解Python迭代器和生成器
- 语音信号处理中怎么理解分帧?
- .NET框架-Try-Parse和Tester-Doer
- ol,li,ul列表