katherinepills吧 关注:2贴子:198
  • 5回复贴,共1

【编程】高精度

只看楼主收藏回复

阶乘


来自Android客户端1楼2015-11-01 09:20回复
    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<string>
    #include<iomanip>
    #include<cmath>
    using namespace std;
    int main()
    {
    int a[100],x,i,n,k,j;
    memset(a,0,sizeof(a));
    cout<<"Input n=";
    cin>>n;
    cout<<"Input k=";
    cin>>k;
    a[1]=1;
    x=0;
    for(i=1;i<=n;++i)
    {
    j=0;
    for(j=1;j<=k;++j)
    {
    a[j]=a[j]*i;
    }
    for(int z=1;z<=k;++z)
    {
    if(a[z]>100)
    {
    x=a[z]/100;
    a[z]%=100;
    a[z+1]+=x;
    }
    }
    }
    while(a[k]==0&&k>1)
    --k;
    cout<<a[k];
    for(i=k-1;i>=1;--i)
    {
    if(a[i]<10)
    cout<<"0";
    cout<<a[i];
    }
    cout<<endl;
    system("pause");
    return 0;
    }


    4楼2015-11-03 19:41
    回复
      数组开到1000的时候阶乘1000可以计算


      5楼2015-11-03 19:42
      回复
        @亲爱的小船
        我找不到原来的程序了,参考下上面那个程序,比较类似


        6楼2015-11-03 21:03
        回复
          @亲爱的小船


          7楼2015-11-03 21:04
          回复
            3q


            来自Android客户端8楼2015-11-03 21:08
            回复