该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
java版:
import java.lang.*;
import java.math.*;
public class Pi {
public static void main(String []args)
{
double n,pi,t; //System.out.println("程序开始运行计算机当前毫秒数 " + startTime);
Long startTime = System.currentTimeMillis();
double k=1;
pi=0;t=1;n=1;
while(Math.abs(t)>1e-8)
{
t=k/n;
pi=pi+t;
k=-k;
n+=2;
}
pi=4*pi;
Long endTime = System.currentTimeMillis();
// System.out.println("程序运行到此处计算机当前毫秒数 " + endTime);
System.out.printf("PI=%f\n程序共计运行 "+ (float)(endTime-startTime)/1000+"秒",pi);
}
}
C语言版:
#include
#include
#include
void main()
{
double n,pi,t;
clock_t start,finish;
float duration; //程序运行所需时间
pi=0;
int k=1;
t=1;
n=1;
start=clock(); //开始时间
while( fabs(t) >1e-8 )
{
t=k/n;
pi=pi+t;
k=-k;
n+=2;
}
pi=4*pi;
finish=clock(); //终止时间
duration=(float)(finish-start)/1000; //通过终止和起始时间计算得出运行所需时间,原始单位为毫秒,除以1000变为秒
printf("SuperPI has run for %f seconds!\npi=%x",duration,pi);
getchar();
}
java版用时2.625s C语言版用时4.781s