博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大数阶乘计算 模板 相当容易理解!!可直接套用!!!C语言版
阅读量:3962 次
发布时间:2019-05-24

本文共 690 字,大约阅读时间需要 2 分钟。

大数的阶乘是相当恐怖的,普通的变量无法存储这么大的数字,所以可以用数组来存。

代码呈上:

#include
#include
int main(){
int i,j,n,temp,d=1,carry;//temp为阶乘元素与临时结果的乘积,carry是进位 ,d是位数 int a[100000];//确保数组足够大 scanf("%d",&n);//n的阶乘 a[0]=1;//先初始化为1,方便后面运算 for(i=2;i<=n;i++)//从2开始阶乘 ,每次循环计算i阶乘的结果 {
for(j=1,carry=0;j<=d;j++)// 每次循环初始化进位的值 {
temp=a[j-1]*i+carry;//相应阶乘中的一项与当前所得临时结果的某位相乘加上进位 a[j-1]=temp%10;//更新临时结果的位上信息 carry=temp/10;//如果有进位就进入下面的循环 } while(carry) //如果有进位 {
++d; //增加进位,位数加一 a[d-1]=carry%10; //给新的进位赋值 carry=carry/10; //看还可不可以再进位 } } printf("n!="); for(j=d-1;j>=0;j--) //从高位向低位依次输出 printf("%d",a[j]); printf("\n"); }

运行示例

在这里插入图片描述

转载地址:http://wirzi.baihongyu.com/

你可能感兴趣的文章
Eclipse离线安装Java Decompiler插件
查看>>
Http预请求options
查看>>
未来设计师的工作模式?从室内设计领域的实时设计说起 | Mixlab趋势
查看>>
智能设计 | MixAI 知识库 No.69
查看>>
通过研究微信文章的相关推荐逻辑 ,尝试生成指南| Mixlab设计黑客
查看>>
这个世界上肯定有另一个我,做着我不敢做的事,过着我想过的生活 | MixAI 知识库 No.70...
查看>>
表情包数据挖掘 | Mix群聊
查看>>
如何阅读科研论文
查看>>
理解本真的REST架构风格
查看>>
10款免费且开源的项目管理工具
查看>>
java调用javascript :js引擎rhino
查看>>
asp 中常用的文件处理函数
查看>>
ADO中sqlserver存储过程使用
查看>>
Linux KernelTech版FAQ 1.0
查看>>
ntfs分区iis故障的解决
查看>>
个人创业“六大死穴”
查看>>
最重要的 12个 J2EE 最佳实践
查看>>
通过Java Swing看透MVC设计模式
查看>>
Java 理论与实践: 关于异常的争论
查看>>
编写高效的线程安全类
查看>>