La démo ici est un algorithme d'accumulation, tel que 1,2,3,4...n
Autrement dit : somme = 1+2+3+4...+n ;
Nous pouvons faire ceci :
pour (long i = 1,v = valeur; i <= v; i++) {
somme += je;
}
retourner la somme ;
}
/**
* Implémentation d'un algorithme d'accumulation<br>
*
* @date 2013-4-16
* @auteur Hongten
*
*/
classe publique AddArithmetic {
/**
* Boucle pour mettre en œuvre la méthode d'accumulation
* Valeur @param
* @retour
*/
cycle long statique privé (valeur longue) {
somme longue = 0 ;
pour (long i = 1,v = valeur; i <= v; i++) {
somme += je;
}
retourner la somme ;
}
/**
* Méthode gaussienne :<code>(n+1)*n/2</code><br>
* Vous pouvez en savoir plus sur <a href="http://zhidao.baidu.com/question/411055258.html">Ici</a>
* Valeur @param
* @retour
*/
privé statique long gaosi (valeur longue) {
somme longue = 0 ;
somme = (valeur + 1) * valeur / 2 ;
retourner la somme ;
}
public static void main (String[] arguments) {
//Nettoie la mémoire, mais elle risque de ne pas être exécutée.
Système.gc();
// vous devez changer la valeur, puis obtenir les différents résultats
valeur longue = 1 0000000 ;
somme longue = 0 ;
démarrage long = System.currentTimeMillis();
somme = cycle (valeur);
extrémité longue = System.currentTimeMillis();
System.out.println("Utilisez la méthode d'accumulation de boucle pour accumuler de [1] à ["+value+"], temps pris : ["+(end - start) + "]ms, résultat : "+ sum);
//Nettoie la mémoire, mais elle risque de ne pas être exécutée.
Système.gc();
start = System.currentTimeMillis();
somme = gaosi(valeur);
fin = System.currentTimeMillis();
System.out.println("Utilisez la méthode gaussienne pour accumuler de [1] à ["+value+"], temps pris : ["+(end - start) + "]ms, résultat : "+ sum);
}
}
Bien entendu, les résultats de fonctionnement de machines avec des configurations différentes sont différents...
L'état de fonctionnement de ma machine :