基本信息
源码名称:c++ 阶乘和(入门级示例)
源码大小:0.71KB
文件格式:.cpp
开发语言:C/C++
更新时间:2018-12-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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;
}