有趣生活

当前位置:首页>科技>c语言中怎么计算前20个数的阶乘和初级编程高精度计算题

c语言中怎么计算前20个数的阶乘和初级编程高精度计算题

发布时间:2026-07-21阅读(1)

导读时间限制:1Sec内存限制:128MB题目描述已知正整数n(n<=100),设s=1!2!3!...n!。其中“!”表示阶乘,求s。输入n输出s样例输入Co....

时间限制: 1 Sec 内存限制: 128 MB

题目描述

已知正整数n(n<=100),设s=1! 2! 3! ... n!。其中“!”表示阶乘,求s。

输入

n

输出

s

样例输入 Copy

4

样例输出Copy

33

V

V

V

V

V

V

V

V

解答:

#include<bits/stdc .h>using namespace std;short s[10005];short ans[10005];void jc(int n){ s[1]=1; int t=1; int x; for(int i=1;i<=n;i ) { x=0; for(int j=1;j<=t;j ) { s[j]=s[j]*i x; x=s[j]/10; s[j]%=10; if(x>0&&j==t) t ; } s[t 1]=x; }}int main(){ int n; cin>>n; int x; for(int j=1;j<=n;j ) { memset(s,0,sizeof(s)); jc(j); for(int i=1;i<=10000;i ) { ans[i] =s[i];//cout<<c[i]<<" "; if(ans[i]>=10) { ans[i 1] ; ans[i]=ans[i]; } } } int t1=10000; while(ans[t1]==0&&t1>1) t1--; for(int i=t1;i>=1;i--) { cout<<ans[i]; } return 0;}

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图