文章

11

粉丝

0

获赞

65

访问

3.5k

头像
阶乘和 题解:迭代法
P1044 北京航空航天大学机试题
发布于2026年1月9日 15:59
阅读数 205

#include<stdio.h>
int main(){
    int n;
    scanf("%d",&n);
    long fac[n+1];              //根据题目描述,可能超过int范围,故使用long保存最终结果
    long Sn=0;
    fac[0]=1;                         //第一个数保存在下标为0的位置
    for(int i=1;i<=n;i++){ //fac[n+1]保存 1 - n共n个数的阶乘,下标0作为过渡,不使用
        fac[i]=fac[i-1]*i;     //fac[1]=1*1 -> 1!; fac[2]=2*1 -> 2!
    }
    for(int i=1;i<=n;i++){//fac[i]保存i的阶乘,全部加起来
        Sn += fac[i];
    }
    printf("%ld",Sn);
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发