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 : Sélectionner tout - Visualiser dans une fenêtre à part n = 2*q1 + r1
Par exemple si l'on divise 80844 par 2 on obtient 5 divisions avec (un reste nul puisque que 80844 est un nombre pair)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 :
Merci d'avance.
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Transact
Partager