La demostración aquí es un algoritmo de acumulación, como 1,2,3,4...n
Es decir: suma = 1+2+3+4...+n;
Podemos hacer esto:
for (largo i = 1,v = valor; i <= v; i++) {
suma += i;
}
suma de devolución;
}
/**
*Implementación del algoritmo de acumulación<br>
*
* @fecha 2013-4-16
* @autor hongten
*
*/
clase pública AgregarAritmética {
/**
* Bucle para implementar el método de acumulación.
* valor @param
* @devolver
*/
ciclo largo estático privado (valor largo) {
suma larga = 0;
for (largo i = 1,v = valor; i <= v; i++) {
suma += i;
}
suma de devolución;
}
/**
* Método gaussiano:<code>(n+1)*n/2</code><br>
* puedes leer más en <a href="http://zhidao.baidu.com/question/411055258.html">Aquí</a>
* valor @param
* @devolver
*/
gaosi largo estático privado (valor largo) {
suma larga = 0;
suma = (valor + 1) * valor / 2;
suma de devolución;
}
público estático vacío principal (String [] argumentos) {
// Limpia la memoria, pero es posible que no se ejecute.
Sistema.gc();
// deberías cambiar el valor y luego obtener resultados diferentes
valor largo = 10000000;
suma larga = 0;
inicio largo = System.currentTimeMillis();
suma = ciclo(valor);
extremo largo = System.currentTimeMillis();
System.out.println("Utilice el método de acumulación de bucle para acumular de [1] a ["+valor+"], tiempo necesario: ["+(fin - inicio) + "]ms, resultado: "+ suma);
// Limpia la memoria, pero es posible que no se ejecute.
Sistema.gc();
inicio = System.currentTimeMillis();
suma = gaosi(valor);
fin = System.currentTimeMillis();
System.out.println("Utilice el método gaussiano para acumular desde [1] hasta ["+valor+"], tiempo necesario: ["+(final - inicio) + "]ms, resultado: "+ suma);
}
}
Por supuesto, los resultados de ejecución de máquinas con diferentes configuraciones son diferentes...
El estado de funcionamiento de mi máquina: