代码改变世界

大数阶乘(c语言)

  Say_ALin  阅读(405)  评论(0)    收藏  举报

大数阶乘。代码比较简单。

复制代码
#include<stdio.h>
#include<string.h>
#define MAXN 25000   // 如果你的阶乘N比较大,建议大一点

int result[MAXN];
int main()
{
int i,j,n;
scanf("%d",&n);

// memset函数的作用将某一段内存设置成指定的值
// 参数1:内存首地址   参数2:指定的值  参数3:内存大小
memset(result,0,sizeof(result));
result[0]=1;
for(i=2;i<=n;i++)
{
    int c=0;
    for(j=0;j<MAXN;j++)
    {
        int s=result[j]*i+c;
        result[j]=s%10;
        c=s/10;
    }
}

for(j=MAXN-1;j>=0;j--)
    if(result[j])
        break;
for(i=j;i>=0;i--)
    printf("%d",result[i]);
printf("\n");
return 0;
}
复制代码

 

编辑推荐:
· 从“看懂世界”到“改造世界”:AI发展的四个阶段你了解了吗?
· 协程本质是函数加状态机——零基础深入浅出 C++20 协程
· 编码之道,道心破碎。
· 记一次 .NET 某发证机系统 崩溃分析
· 微服务架构学习与思考:SOA架构与微服务架构对比分析
阅读排行:
· 历时半年,我将一个大型asp.net的零代码快速开发平台转成了java
· C#实现语音预处理:降噪、静音检测、自动增益(附Demo源码)
· 推荐五大AI+MCP自动化测试工具!
· 记一次 .NET 某无语的电商采集系统 CPU爆高分析
· Spring Boot 启动优化实践
点击右上角即可分享
微信分享提示