Exercice : Trouver le nombre de divisions nécessaires
Bonjour à tous et à toutes,
Depuis hier je bute sur un exercice d'algorithmique en Java, mais plus dans son implémentation que dans la compréhension de l'exercice.
En effet, je voudrais écrire un programme permettant de compter le nombre de divisions nécessaires pour obtenir un reste inférieur ou égal à 2.
Sachant que pour une division euclidienne nous avons l'équation suivante :
avec n un entier naturel non nul, q1 le quotient et r1 le reste (r1 < q1)
Code:
1 2 3 4 5 6 7 8 9
|
Considérons la succession dopérations suivante :
n = 2*q1 + r1
q1 = 2*q2 + r2
q2 = 2*q3 + r3
q3 = 2*q4 + r4
q4 = 2*q5 + r5
On poursuit cette série dopération jusquà ce que le reste obtenu soit inférieur
ou égal à 2 |
Par exemple si l'on divise 80844 par 2 on obtient 5 divisions avec (un reste nul puisque que 80844 est un nombre pair)
1 division par 2 pour le nombre 8
1 division par 2 pour le nombre 0
1 division par 2 pour le nombre 8
1 division par 2 pour le nombre 4
1 division par 2 pour le nombre 4
Voici le code que j'ai commencé à élaborer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
public class Exercise6 {
public static int countNumberOfDivisionNecessity(int n) {
int remainder = 0;
int quotient =0;
int counter = 0;
while(remainder <= 2){
quotient =n/2;
remainder = n%2;
n = 2*quotient + remainder;
System.out.println(counter);
}
return 0;
}
public static void main(String[] args) {
countNumberOfDivisionNecessity(80844); // 5 divisions
} |
Merci d'avance.
Transact