首页 > 其他 > 详细

求10000以内n的阶乘

时间:2021-08-01 13:05:51      阅读:20      评论:0      收藏:0      [点我收藏+]

求10000以内n的阶乘

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 
 5 using namespace std;
 6 const int N=36000;
 7 
 8 int main(){
 9     int n,a[N];
10     memset(a,0,sizeof(a));
11     cin>>n;
12     a[0]=a[1]=1;
13     for(int i=1;i<=n;i++){
14         int carry=0;
15         for(int j=1;j<=a[0];j++){
16             int tmp=a[j]*i+carry;
17             a[j]=tmp%10;
18             carry=tmp/10;
19         }
20         //处理最高位
21         while(carry){
22             a[0]++;
23             a[a[0]]=carry%10;
24             carry/=10;            
25         }
26     }
27     if(n<1)cout<<"0";
28     else{
29         for(int i=a[0];i>0;i--){
30             cout<<a[i];
31         }
32     }
33     return 0;
34 }

 

求10000以内n的阶乘

原文:https://www.cnblogs.com/sxrekord/p/n_factorial.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!