白皮书 阶乘的精确度(大数阶乘)
发布时间:2020-12-14 01:26:29 所属栏目:大数据 来源:网络整理
导读:???????????? 题目: 输入不超过1000的正整数n,输出n!=1x2x3···xn的精确结果。 ???????????? 样例输入: 30 ??????????? 样例输出: 265252859812191058636308480000000 分析:先存个 大的数组求a[3000],让a[0]保存结果的个位(方便进位) 白皮书代码(
???????????? 题目:输入不超过1000的正整数n,输出n!=1x2x3···xn的精确结果。 ???????????? 样例输入:30 ??????????? 样例输出:265252859812191058636308480000000
白皮书代码(看啦好几遍才看懂QAQ)
#include<stdio.h> #include<string.h> #define N 3000 int a[N]; int main() { int i,j,n; while(~scanf("%d",&n)){ memset(a,sizeof(a)); a[0]=1; for(i=2;i<=n;i++){//乘以i int c=0; for(j=0;j<N;j++){ int s=a[j]*i+c; a[j]=s%10; c=s/10; } } for(j=N-1;j>=0;j--) if(a[j]) break; for(i=j;i>=0;i--) printf("%d",a[i]); printf("n"); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |