J'ai traversé des tests scientifiques informatiques et je ne comprends pas le résultat de cette boucle. La première boucle à boucle ITERATS 10 fois, mais qu'en est-il du second? Et pourquoi la sortie 55? P> p>
5 Réponses :
La boucle interne iTère un code> quantité de fois, donc la première fois qu'elle va boucler 1 fois et la dernière fois que cela ira à 10 fois. Le compteur incrémente chaque fois que cette boucle interne fonctionnera, de sorte qu'il fonctionne de 1 + 2 + ... + 10 = 55 fois. P>
La première boucle iTère 10 fois. Pour chacune des premières bouclées itération de la seconde boucle itérates: de sorte que la valeur du compteur serait la suivante: 1 fois code>, 2 fois code>, 3 fois code> .... 10 fois code>. p>
B code> iterate de 0 code> à moins que A code>. Lorsque A code> est 1 code>, il iTère 1 fois code>. Lorsque A code> est 2 code> La seconde boucle iTerates 2 fois code>, lorsque a code> est 3 code> La deuxième boucle iTerate 3 fois code> et ainsi de suite. p>
1 + 2 + 3 + 4 .... + 10 = (10 * (10 + 1)) / 2 = 55 CODE> P>
La logique ici est la suivante:
c := 0
for a from 1 to 10:
for b from 0 to a:
increment c
print c
Ceci est le Progression arithmétique .
En général, la formule est p> donc, dans ce cas, p> Si vous avez modifié le dernier numéro à, par exemple, 13, les sorties de code 91. La progression arithmétique est p>
Le premier pour la-boucle iTerate 10 fois, mais qu'en est-il du second? p> blockQuote>
La deuxième boucle iTère une variable (
A code>) de fois. p>Et pourquoi la sortie 55? p> blockQuote>
Parce que c'est le résultat lorsque vous ajoutez les dix premiers entiers consécutifs (à partir de 1.) p>
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 CODE> P>
Avez-vous essayé de passer à travers cela avec un débogueur ou une impression? Dans quelle partie essentiellement avez-vous des problèmes?
Ajoutez ceci à la boucle interne: system.out.println ("compteur:" + compteur + "A:" + A + "B:" + b);
Pour votre question juste supprimée - Regex101.com/r/ws8w8u/2