@ Krease Ой, позвольте мне это исправить.

ющая Java-программа выполняется в среднем между 0,50 и 0,55 с:

public static void main(String[] args) {
    long startTime = System.nanoTime();
    int n = 0;
    for (int i = 0; i < 1000000000; i++) {
        n += 2 * (i * i);
    }
    System.out.println((double) (System.nanoTime() - startTime) / 1000000000 + " s");
    System.out.println("n = " + n);
}

Если я заменю2 * (i * i) с участием2 * i * iдля запуска требуется от 0,60 до 0,65 с. Как придешь?

Я запускал каждую версию программы 15 раз, чередуя их. Вот результаты:

 2*(i*i)  |  2*i*i
----------+----------
0.5183738 | 0.6246434
0.5298337 | 0.6049722
0.5308647 | 0.6603363
0.5133458 | 0.6243328
0.5003011 | 0.6541802
0.5366181 | 0.6312638
0.515149  | 0.6241105
0.5237389 | 0.627815
0.5249942 | 0.6114252
0.5641624 | 0.6781033
0.538412  | 0.6393969
0.5466744 | 0.6608845
0.531159  | 0.6201077
0.5048032 | 0.6511559
0.5232789 | 0.6544526

Самый быстрый пробег2 * i * i заняло больше времени, чем самый медленный пробег2 * (i * i), Если бы они оба были столь же эффективны, вероятность этого была бы менее 1/2 ^ 15 = 0,00305%.

Ответы на вопрос(10)

Ваш ответ на вопрос