Puissances de 2 java
Bonjour,
j'essaie de faire un programme faisant des puissances de 2,
mais le problème est que pendant l'incrémentation il ne met pas la valeur du résultat à jour pour le multiplier par lui même comme ceci; SOS
public class puissance
{
public static void main (String[] args)
{
int i;
int n = 4;
int base = 2;
int expo = 0;
for (i = 0; i<n; i++)
{
expo = base * base;
System.out.println (expo);}
}
}
j'essaie de faire un programme faisant des puissances de 2,
mais le problème est que pendant l'incrémentation il ne met pas la valeur du résultat à jour pour le multiplier par lui même comme ceci; SOS
public class puissance
{
public static void main (String[] args)
{
int i;
int n = 4;
int base = 2;
int expo = 0;
for (i = 0; i<n; i++)
{
expo = base * base;
System.out.println (expo);}
}
}
5 réponses
-
ModérateurEn effet tu ne pars pas dans la bonne direction.
Réfléchis un peu plus à qu'est-ce qui est variable et qu'est-ce qui est constant.
En plus de ça ton "indentation" t'induit en erreur en te faisant croire que tout ce que tu modifies est dans ta boucle alors que tu as un } juste après ton premier println et ça change tout (enfin ça resterai faux quand même avec le code dans la boucle)
Mets toi à la place de l'ordinateur et regarde ce que fais ton code ligne par ligne :
n=4 base=2 expo=0 i=0 i<n --> 0<4 --> true expo=base*base --> expo = 2*2 --> expo=4 println(expo) --> 4 i++ --> i=1 i<n --> 1<4 --> true expo=base*base --> expo = 2*2 --> expo=4 println(expo) --> 4 i++ --> i=2 i<n --> 2<4 --> true expo=base*base --> expo = 2*2 --> expo=4 println(expo) --> 4 i++ --> i=3 i<n --> 3<4 --> true expo=base*base --> expo = 2*2 --> expo=4 println(expo) --> 4 i++ --> i=4 i<n --> 4<4 --> false expo=expo*expo --> expo = 4*4 --> expo=16 println(expo) --> 16
La confiance n'exclut pas le contrôle