Diviseur par 2

Résolu
Blackleoh Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Blackleoh Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

#include <stdio.h>
#include <stdlib.h>

int main (void)

{
int i = 0;
int d = 0;
int n = 0;

for (i=2; i<=50; i+=2)

if (i%2 == 0)

{

d = i/2;
n = d/2;

printf("%d = %d = %d\n",i,d,n);

}

return 0;

}

Voilà, pas de quoi casser des briques. Ça reflète mon niveau de programmation. Je voudrais néanmoins aller un peu plus loin sans savoir comment faire. En fait, le but de mon programme serait de diviser les nombres pairs par 2. Jusque là ça va. Ceci dit, je voudrais aussi diviser les résultats qui ont un nombre pair par 2 jusqu'à ce que chaque résultat affiche un nombre impair sans jamais diviser un nombre impair et là je bloque. J'ai essayé de jouer avec les conditions, pointeurs et fonctions, en vain. Une idée ?
A voir également:

1 réponse

Blackleoh Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bon, j'ai trouvé la soluce.

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char const *argv[])

{
int i,d,n = 0;

for (i=2; i<=50; i+=2)

{

n=i;

while (n%2==0) n/=2;

printf("%d = %d = %d\n",i,n,d);

}

return 0;

}


Ceci dit, je me demande comment afficher le nombre de fois que j'ai divisé par 2 par nombre?
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
En faisant un compteur. Tu incrémentes de 1 dans chaque itération de ton While
0
Blackleoh Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci.
0