Java時間計算効率を考えたプログラム
解決したいこと
Javaの問題です。
Part1と同じ計算を行うが、処理経過時間をなるべく減らすプログラムを書きたいです。
同じ計算を行うのでsの値はPart1と同じである必要があるがどうしても別の値になってしまいます。
解決法を教えてください。
該当するソースコード
public class OptimizeSample {
public static void main (String args[ ]) {
final double X1 = 1.0, X2= 3.0;
final double Y1 = 4.0, Y2= 8.0;
final double dx = 0.00025, dy = 0.00025;
double s; long start,stop;
//Part 1
System.out.println("Part1");
s=0;
start = System.currentTimeMillis( );
for(double x=X1;x<X2;x=x+dx){
for(double y=Y1;y<Y2;y=y+dy){
s=s+(Math.pow(x,7)+7*Math.pow(x,2)-Math.pow(y,3)-
5*Math.pow(y,2)-y-6)*dx*dy;
}
}
stop = System.currentTimeMillis( );
System.out.printf("%.2f%n",s);
System.out.println((stop-start) + "ミリです");
System.out.println( );
//Part 2
System.out.println("Part2");
start = System.currentTimeMillis( );
//文追加//
stop = System.currentTimeMillis( );
System.out.printf("%.2f%n",s);
System.out.println((stop-start) + "ミリです");
System.out.println( );
}
}
0