▲▲▲实在是无聊,郁闷。就把C++和Java比一下速度。算10000!(10000的阶乘)▲▲▲用VC++6郁闷了一下,写滚动条和音量控制就用几百行。(SDK)于是想找地方休息一下!就用10000!(10000的阶乘)比一下C++和Java的速度。用的同样的算法,算法没有优化!其实不用比就知道Java肯定慢!!我电脑的配置AMD 雷鸟 1G ,256 M内存。升技主板。
VC++ 6   Release版       11 s   (Debug版运行结果错误,高手指点)
Dev-C++                  15 s
J2SE                     25 s-------测试代码如下----------------C++代码------------
#include<iostream>
#include<cstdlib>
using std::cout;
using std::cin;
using std::endl;int main(int argc, char *argv[])
{
    int Data[100000];  //N位数据的整数数组
int Digit;
int i,j,r,k;
int N = 10000;      //10000的阶乘 for ( i=1;i<40;i++)  //将数组初始值设为0
    Data[i] = 0; Data[0] = 1;
Data[1] = 1;
    Digit = 1;
  
  
for ( i=1; i<N+1; i++)
{
 for ( j=1; j<Digit+1 ; j++ )
   Data[j] *= i;        //数组中元素的运算
for ( j=1; j<Digit+1; j++ )
  {
if ( Data[j]>10 )
{

for ( r=1; r<Digit+1; r++ )
{
if ( Data[Digit]>10) 
Digit++;   //当数组中的元素值大于10时,则位数加1
Data[r+1] += Data[r] / 10;
//前一位数组元素值=前一位数组元素值+此位数组元素
//值除以10 Data[r] = Data[r] % 10;
//此位数组元素值=此位数数组元素值除以10取其余数
}
   }
     }
     }
  
  
 for (k=Digit;k>0 ;k-- )
      cout<<Data[k]; //输出数组中的元素
      cout<<endl;
      
//system("pause");
return 0;
}
--------Java代码----------
import java.io.*;class out10000 
{
public static void main(String[] args) 
throws IOException ,NumberFormatException,ArrayIndexOutOfBoundsException
{
int Data[] = new int[100000];  //N位数据的整数数组
int Digit;
int i,j,r,k;
int N = 10000;     ////10000的阶乘 for ( i=1;i<40;i++)  //将数组初始值设为0
Data[i] = 0;   Data[0] = 1;
  Data[1] = 1;
  Digit = 1;

try
{
     
for ( i=1; i<N+1; i++)
{
for ( j=1; j<Digit+1 ; j++ )
Data[j] *= i;        
//数组中元素的运算
for ( j=1; j<Digit+1; j++ )
 {
if ( Data[j]>10 )
 {
 for ( r=1; r<Digit+1; r++ )
{
if ( Data[Digit]>10) 
Digit++;   //当数组中的元素值大于10时,则位数加1
Data[r+1] += Data[r] / 10;
//前一位数组元素值=前一位数组元素值+此位数组元素
//值除以10 Data[r] = Data[r] % 10;
 //此位数组元素值=此位数数组元素值除以10取其余数
}
}

}
for (k=Digit;k>0 ;k-- )
  System.out.print(Data[k]); //输出数组中的元素
System.out.println();
}
catch(ArrayIndexOutOfBoundsException ArrayOut)
{
   System.out.println("Array Index Out Of Bounds Exception!");
}
}}