Algorithme de divisibilité par le ruban de Pascal
Published:
Exemple:
Pour vérifier si $K = 296419750389$ est divisible par $7$ ou non, on suit la démarche suivante :
1) Commencer par aligner le nombre $K$ avec le ruban de $7$ en commençant par la droite :
$K = 296419750389$
$Ruban = 546231546231$
2) Calculer la somme des produits entre les chiffres de $K$ et les chiffres du ruban :
$S = 2*5 + 9*4 + 6*6 + 4*2 + 1*3 + 9*1 + 7*5 + 5*4 + 0*6 + 3*2 + 8*3 + 9*1 = 196$
3) Recommencer avec la somme obtenue $196$ :
$K = 196$
$Ruban = 231$
$S = 1*2 + 9*3 + 6*1 = 35$
4) Recommencer avec la somme obtenue $35$ :
$K = 35$
$Ruban = 31$
$S = 3*3 + 5*1 = 14$
5) Recommencer avec la somme obtenue $14$ :
$K = 14$
$Ruban = 31$
$S = 1*3 + 4*1 = 7$
6) Recommencer avec la somme obtenue $7$ :
$K = 7$
$Ruban = 1$
$S = 7*1 = 7$
On arrête le calcul puisque la somme $S$ devient stationnaire. La valeur finale de $S = 7 = D$, donc le nombre $K = 296419750389$ est divisible par $7$.
En disposant d'un fichier texte existant "$C:\Nombre.txt$" contenant des nombres binaires (un nombre par ligne), on se propose d'écrire un programme permettant :
- d'appliquer la règle de divisibilité du ruban de Pascal expliquée ci-dessus pour :
- placer chaque nombre binaire du fichier "$C:\Nombre.txt$" qui est divisible par $7$ suivit par son équivalent décimal en les séparant par "#" dans une ligne d'un premier fichier nommé "$C:\Div7.txt$"
- placer chaque nombre binaire du fichier "$C:\Nombre.txt$" qui est divisible par $13$ suivit par son équivalent décimal en les séparant par "#" dans une ligne d'un deuxième fichier nommé "$C:\Div13.txt$"
- d'afficher le contenu des deux fichiers "$C:\Div7.txt$" et "$C:\Div13.txt$".
Travail demandé :
1) Pour $D = 13$, donner les $4$ premiers nombres du ruban de Pascal.
2) Ecrire l'algorithme du programme principal en le décomposant en modules.
3) Ecrire l'algorithme pour chaque module envisagé.
N.B : l'élève n'est appelé à remplir le fichier "$C:\Nombre.txt$"
Animated Video Solution
The first half plays free, the full solution is in the app.
Step by Step Written Solution
Salut iyed, nous allons résoudre cet exercice d'informatique qui porte sur la règle de divisibilité du ruban de Pascal.
Divisibilité par le Ruban de Pascal (D = 7 et 13)
L'énoncé nous explique comment vérifier la divisibilité par un nombre D en utilisant un ruban de coefficients. D'abord, traitons la question 1 : donner les 4 premiers nombres du ruban de Pascal pour D égale 13.
Question 1 : Ruban pour D = 13
Le ruban de Pascal est constitué des restes de 10 puissance i modulo D, en commençant par le rang zéro en partant de la droite.
Pour $D = 13$ :
Pour i égale zéro, dix puissance zéro égale un. Un modulo treize égale un. C'est notre premier nombre.
Pour i égale un, dix puissance un égale dix. Dix modulo treize égale dix.
Pour i égale deux, dix au carré égale cent. Cent divisé par treize donne sept, et il reste neuf car treize fois sept égale quatre-vingt-onze.
Enfin pour i égale trois, mille modulo treize donne douze. Car 13 fois 76 égale 988.
Les quatre premiers nombres du ruban pour treize sont donc 1, 10, 9 et 12.
Passons à l'algorithme. Nous devons lire des nombres binaires, calculer le décimal, vérifier la divisibilité par sept et treize avec le ruban, et écrire dans les fichiers. Commençons par la structure globale.
Question 2 & 3 : Algorithmes
Programme Principal
The rest of this solution is on Solvi
8 more steps are locked. Watch the full animated, narrated solution for free.
Snap a photo, solve any question like this.
Watch the Rest for FreeFree to download · First solutions are on us