程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度教程第61題

九度教程第61題

編輯:C++入門知識

C語言源碼: [cpp]   #include<stdio.h>   #define maxsize 1000   #define size 1000000   int a[maxsize],b[maxsize];   int main()   {       int n,i,j,len;       while(scanf("%d",&n)!=EOF)       {           for(i=0;i<maxsize;i++)               a[i]=0;           a[0]=1;           len=1;           i=2;           while(i<=n)           {               for(j=0;j<maxsize;j++)                   b[j]=0;               j=0;               while(j<len)               {                   b[j]+=a[j]*i;                   if(b[j]>=size)                   {                       b[j+1]+=b[j]/size;                       b[j]=b[j]%size;                   }                   j++;               }               j=len;               while(j<len+4)               {                   if(b[j]>=size)                   {                       b[j+1]+=b[j]/size;                       b[j]=b[j]%size;                   }                   j++;               }               len=len+4;               while(b[len-1]==0)                   len--;               for(j=0;j<len;j++)                   a[j]=b[j];               i++;           }           for(i=len-1;i>=0;i--)           {               if(i!=len-1)                   printf("%06d",a[i]);               else                   printf("%d",a[i]);           }           printf("\n");       }   }  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved