Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 27-10-2024 10:07:20
- ccapucine
- Membre
- Inscription : 19-05-2018
- Messages : 185
Algorithme pour calculer le reste et le résultat d'une divistion
Bonjour,
j'ai trouvé sur un autre forum; un exercice intéressant.
Mais il n y a pas eu de réponse.
Soient $N$ et $M$ deux naturels donnés. On définit les nombres naturels $R$ et $Q$ par $M= N \cdot Q + R$
($R$ est le reste de la division de $M$ sur $N$, $Q$ est le résultat de la division de $M$ sur $N$).
Quel algorithme de calculer $Q$ et $R$ en utilisant la soustraction? S'il vous plaît.
Je ne comprend même pas ce que veut dire "utiliser la soustraction" pour calculer $Q$ et $R$. Un exemple serait le bienvenue.
Merci d'avance
Hors ligne
#2 27-10-2024 10:18:35
- Roro
- Membre expert
- Inscription : 07-10-2007
- Messages : 1 659
Re : Algorithme pour calculer le reste et le résultat d'une divistion
Bonjour,
Je pense qu'il faut faire une boucle qui, à chaque itération, remplace M par M-N, tant que M reste positif.
Le nombre d'itérations correspond au quotient Q, et le reste R est donné par la valeur de M juste avant la dernière itération.
Roro.
Hors ligne
#3 27-10-2024 12:45:56
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 223
Re : Algorithme pour calculer le reste et le résultat d'une divistion
Bonjour,
Je plussoie Roro...
Si on se te posait la question : << Comment effectuerais-tu la multiplication 132 *25 en n'utilisant que l'addition ? >>, tu répondrais :
Facile :
$P= \overbrace{132+132+132+\cdots+132}^{25\; termes\;égaux\; à\; 132}$
ou
$P=\overbrace{25+25+25+25+25+25+\cdots+25}^{132\; termes\;égaux\; à\; 25}$
Alors, que signifie par exemple << Qu'appelle-t-on quotient euclidien, (par exemple) de 32567 par 29 ? >>
---------------------------------------
Script naïf en Python :
M,N,Q=32586,29,0
Md=M # Je garde la valeur d'origine de M pour l'affichage futur
while not M<N: # Tant que M n'est pas inférieur à N
Q=Q+1 # on incrémente Q de 1 à chaque tour
M=M-N # on décrémente M de la valeur N à chaque tour
print("Le quotient entier et le reste de la division de",Md,"par",N,"sont :")
print ("Q =",Q," et R =",M)
print()
print("Vérification : ")
D=N*Q+M
print(N ,"*",Q,"=",N*Q,"et", N*Q,"+",M,"=", D
Sortie :
Le quotient entier et le reste de la division de 32586 par 29 sont :
Q = 1123 et R = 19
Vérification :
29 * 1123 = 32567 et 32567 + 19 = 32586
@+
Dernière modification par yoshi (28-10-2024 13:40:35)
Arx Tarpeia Capitoli proxima...
Hors ligne
#4 28-10-2024 13:33:34
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 223
Re : Algorithme pour calculer le reste et le résultat d'une divistion
Re,
Avec un autre langage utilisé (pénible) : Algobox
Code de l'algorithme
1 FONCTIONS_UTILISEES
2 VARIABLES
3 M EST_DU_TYPE NOMBRE
4 N EST_DU_TYPE NOMBRE
5 Md EST_DU_TYPE NOMBRE
6 Q EST_DU_TYPE NOMBRE
7 R EST_DU_TYPE NOMBRE
8 D EST_DU_TYPE NOMBRE
9 DEBUT_ALGORITHME
10 M PREND_LA_VALEUR 32586
11 N PREND_LA_VALEUR 29
12 Q PREND_LA_VALEUR 0
13 R PREND_LA_VALEUR 0
14 Md PREND_LA_VALEUR M
15 TANT_QUE (M> N) FAIRE
16 DEBUT_TANT_QUE
17 Q PREND_LA_VALEUR Q+1
18 M PREND_LA_VALEUR M-N
19 FIN_TANT_QUE
20 AFFICHER " "
21 AFFICHER " --- Résultats --- "
22 AFFICHER " "
23 AFFICHER "Le quotient entier est : "
24 AFFICHER Q
25 AFFICHER "Le reste est : "
26 AFFICHER M
27 AFFICHER " "
28 AFFICHER "--- Vérification ---"
29 AFFICHER " "
30 AFFICHER N
31 AFFICHER " * "
32 AFFICHER Q
33 AFFICHER " + "
34 AFFICHER M
35 AFFICHER " = "
36 D PREND_LA_VALEUR N*Q+M
37 AFFICHER D
38 FIN_ALGORITHME
Sortie:
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#5 31-10-2024 21:36:28
- ccapucine
- Membre
- Inscription : 19-05-2018
- Messages : 185
Re : Algorithme pour calculer le reste et le résultat d'une divistion
Bonjour,
vraiment désolée. Je pensais avoir posté la réponse.
Mais apparemment, la réponse n'est pas partie. Celà est sûrement dû à un problème de connexion.
J'ai bien compris la réponse. On fait, il s'agit de calculer la multiplication par des additions successives.
Donc on initialise pas 0 et on additionne N fois M avec M.
Merci beaucoup pour l'aide et désolée encore une fois. Je pensais que ma réponse était postée.
Hors ligne
#6 01-11-2024 20:10:54
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 17 223
Re : Algorithme pour calculer le reste et le résultat d'une divistion
Bonsoir,
Ok, ne pas oublier non plus la fausse manip, voire tout bêtement l'oubli de valider sa réponse (plus fréquent qu'on ne le croit) ... N'en parlons plus...
Ton questionnement portait sur le lien entre division et soustraction et il m'avait semblé intéressant de commencé par illustrer le lien entre multiplication et addition, pour pouvoir enchaîner avec la réponse à ton questionnement...
Les scripts écrits en Python, puis en AlgoBox ont-ils répondu à ton attente ?
Quand bien mêmene serais-tu pas versée en programmation, le script Python - avec commentaires - devait t'éclairer sur ce lien : c'était reproductible à la main, avec d'autres nombres plus petits parce que faire 1123 fois la même soustraction, ce serait devenu très vite... (en restant poli) lassant ! ^_^
Je vois que le lien entre Addition et Multiplication est clair (très probablement l'était-il déjà avant)...
Mais le lien entre soustraction et division aussi, maintenant ?
@+
Arx Tarpeia Capitoli proxima...
Hors ligne