求助:为什么这样能过但把mul[k]*=i并到下面的for里面不能过
查看原帖
求助:为什么这样能过但把mul[k]*=i并到下面的for里面不能过
1193780
wuhusjqif楼主2023/12/12 23:08
#include<stdio.h>
#include<stdlib.h>
int sum[1005]={},mul[1005]={};
int main(){
    int n,i,j,k,y;scanf("%d",&n);
    sum[0]=mul[0]=1;
    for(int i=2;i<n+1;i++){
        
        for(k=0;k<501;k++)
            mul[k]*=i;
        for(k=0;k<501;k++){
            mul[k+1]+=mul[k]/10;
            mul[k]%=10;
        }
        for(k=0;k<501;k++){
            sum[k]+=mul[k];
            sum[k+1]+=sum[k]/10;
            sum[k]%=10;
        }
    }
    for(y=500;y>-1&&sum[y]==0;y--);
    for(int j=y;j>-1;j--)
    printf("%d",sum[j]);
}
2023/12/12 23:08
加载中...