n!(高精度)

来源:互联网 发布:千牛苹果mac版 编辑:程序博客网 时间:2024/04/30 07:33
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int a[50000];int main(){int n;while(~scanf("%d",&n)){memset(a,0,sizeof(a));a[0]=1;for(int i=1;i<=n;i++){int c=0;                  //需要进位的大小for(int j=0;j<50000;j++){int s=a[j]*i+c;a[j]=s%10;c=s/10;}}for(int i=50000;i>=0;i--)   //输出处理 {if(a[i]!=0){for(int j=i;j>=0;j--)printf("%d",a[j]);printf("\n");break;}}}return 0; } 
思路:12!=11!*12.    11的阶乘的值已经存在a[]中,只需要12与每一位a[i]相乘

0 0
原创粉丝点击