Демонстрация здесь представляет собой алгоритм накопления, например 1,2,3,4...n.
То есть: сумма = 1+2+3+4...+n;
Мы можем сделать это:
for (long i = 1,v = value; i <= v; i++) {
сумма += я;
}
сумма возврата;
}
/**
* Реализация алгоритма накопления<br>
*
* @дата 16 апреля 2013 г.
* @author Хонгтен
*
*/
общественный класс AddArithmetic {
/**
* Цикл для реализации метода накопления
* значение @param
* @возвращаться
*/
частный статический длинный цикл (длинное значение) {
длинная сумма = 0;
for (long i = 1,v = value; i <= v; i++) {
сумма += я;
}
сумма возврата;
}
/**
* Гауссов метод:<code>(n+1)*n/2</code><br>
* дополнительную информацию можно прочитать <a href="http://zhidao.baidu.com/question/411055258.html">здесь</a>
* значение @param
* @возвращаться
*/
частный статический длинный гаоси (длинное значение) {
длинная сумма = 0;
сумма = (значение + 1) * значение/2;
сумма возврата;
}
public static void main(String[] args) {
//Очистка памяти, но выполнение может не состояться.
Система.gc();
// вам следует изменить значение, тогда получите другие результаты
длинное значение = 10000000;
длинная сумма = 0;
длинный старт = System.currentTimeMillis();
сумма = цикл (значение);
длинный конец = System.currentTimeMillis();
System.out.println("Используйте метод накопления цикла для накопления от [1] до ["+значение+"], затраченное время: ["+(конец - начало) + "]мс, результат: "+ сумма);
//Очистка памяти, но выполнение может не состояться.
Система.gc();
старт = System.currentTimeMillis();
сумма = гаоси (значение);
конец = System.currentTimeMillis();
System.out.println("Использовать метод Гаусса для накопления от [1] до ["+значение+"], затраченное время: ["+(конец - начало) + "]мс, результат: "+ сумма);
}
}
Конечно, результаты эксплуатации машин с разной комплектацией различны...
Статус работы моей машины: