public class ComputePi {
private static double computePiDouble(int n) {
double pi = 4.0;
long i;
for (i = 3; i <= n + 2; i += 2) {
pi = pi * (i - 1) / i * (i + 1) / i;
}
return pi;
}
public static void main(String[] arg) {
long start = System.currentTimeMillis();
for (int n = 1; n <= 10000000; n *= 2) {
System.out.printf("%d %16.14f\n", n, computePiDouble(n));
}
System.out.println("TIME: " + (System.currentTimeMillis() - start) + "ms");
}
}
Neviem ci mam taky rychly pocitac ale cisty vypocet 78ms a 'time java ComputePi' dava:
real 0m0.123s
user 0m0.125s
sys 0m0.009s