基本信息
源码名称:c++ 阶乘和(入门级示例)
源码大小:0.71KB
文件格式:.cpp
开发语言:C/C++
更新时间:2018-12-09
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#include<bits/stdc .h> using namespace std; int n,a[11000],s[11000],b[11000]; int main() { cin>>n; a[1]=1; //计算阶乘 int len=1,lb; for(int i=1;i<=n;i ) { int x=0; for(int j=1;j<=len;j ) //eg:1234每一位乘以i(eg:2) { a[j]=a[j]*i x; //当前阶乘(eg:2)等于上一层 (eg:1)乘以i(eg:2) x=a[j]/10; //进位 a[j]%=10; //只能保留个位 if(x>0&&j==len) //有进位并且空间不足 len ; } lb=len; //b数组的起始长度为len int c=0; //判断进位 for(int k=1;k<=lb;k ) //用b数组累计 { b[k]=b[k] a[k] c; //a数组加b数组加上一层进位 c=b[k]/10; //当前层进位 b[k]=b[k]%10; //留下个位 } if(c>0) b[lb ]=c; //如果还有进位,lb (申请空间) } for(int i=lb;i>=1;i--) cout<<b[i]; //倒序输出 return 0; }