old-

大数问题:求用一段C或C++程序写求 f(x)=100! 的完整程序大数问题,
   
  我用数组作的,输出格式应该是是222,222,222     
  #include   "stdafx.h"  
  #include<stdio.h>  
  #include<stdlib.h>  
   
  int   a[1000]={0};  
  int   maxline=0;  
   
  void   get(int   n)  
  {  
  int   i,j=0;  
  int   temp=0;  
  int   tail=0;  
  a[0]=1;  
          for(i=1;i<=n;i++)  
  {  
  j=0;  
              while(j<=maxline)  
      {  
      a[j]=a[j]*i+temp;  
      temp=a[j];  
      if(temp>=1000)  
      {  
      tail=temp%1000;  
              temp=temp/1000;  
              a[j]=tail;  
      if(j==maxline)  
      {  
                                  maxline++;        
      }  
      }  
      else    
      {  
      tail=temp;  
      temp=0;  
      a[j]=tail;  
      }  
                      j++;  
       
      }  
  }  
  }  
   
  int   main(int   argc,   char*   argv[])  
  {  
          int   m;  
          int   i=0;  
  printf("输入要计算的阶乘数:\n");  
  scanf("%d",&m);  
  fflush(stdin);  
          get(m);  
  printf("计算结果是:\n");  
   
  for(i=maxline;i>-1;i--)  
  {  
  printf("%d,",a[i]);  
  }  
   
  return   0;  
  }

posted @ 2009-07-28 23:16  Ry5  阅读(165)  评论(0)    收藏  举报