• Aucun résultat trouvé

Décomposition en facteurs premiers

N/A
N/A
Protected

Academic year: 2022

Partager "Décomposition en facteurs premiers"

Copied!
4
0
0

Texte intégral

(1)

NOMBRES

G RIP

CASIO

TOUTES CALCULATRICES

CASIO

Ce développement a déjà été publié dans la revue n°23. Nous le redonnons ici afin d’homogénéiser le dossier et de produire le listing du programme pour les anciennes calculatrices.

Problème

Principe

Un nombre A étant donné, on le divise par la suite des nombres premiers, en retenant ceux qui sont diviseurs, autant de fois que nécessaire, jusqu’à ce que le nombre premier soit supérieur à la racine carrée du dernier quotient entier.

La réèlle difficulté d’une telle méthode est la génération de la suite des nombres premiers.

Pour ce faire, nous remarquerons qu’en dehors de 2 et de 3, tout nombre premier peut s’écrire sous l’une des formes:

6p + 1 ou 6p + 5.

Ce sont donc les nombres de cette forme que nous utiliserons comme diviseurs.

Ce qui ne signifie pas que tous ces nombres seront premiers (comme par exemple 25 = 6 x 4 + 1).

Cependant, nous détenons là un bon moyen de déterminer, sans trop de difficultés, tous les nombres premiers (plus quelques uns qui ne le seront pas). Nous effectuerons donc quelques divisions inutiles qui ne porteront aucun préjudice ni à la rigueur de la démarche ni à la rapidité d’obtention du résultat.

Génération des nombres 6p + 1 et 6p + 5.

Plutôt que de donner à p les valeurs 0, 1, 2, 3, etc… on remarquera, qu’à partir de 5, on obtient les suivants en:

• ajoutant 2 5 + 2 = 7

• ajoutant 4 7 + 4 = 11

• ajoutant 2 11 + 2 = 13

• ajoutant 4 13 + 4 = 17

etc…

et d’une manière générale, si on a le nombre 6p+1

• on ajoute 4: 6p+1 + 4 = 6p+5 soit 6p+5

• on ajoute 2: 6p+5 + 2 = 6(p+1)+1 soit 6p+1 etc…

Un problème se pose alors: comment obtenir successivement 2 puis 4, en ne faisant qu’une seule série d’opérations ?

N étant le diviseur, on appelle M la mémoire qui doit contenir 2 ou 4.

M vaut 2; en ajoutant 2, M vaut 4 M vaut 4; en ajoutant -2, M vaut 2.

Il faut donc ajouter à M tantôt 2, tantôt -2.

Simulons cette situation:

N = 5 , M = 2 , J = -2:

• On augmente N de M (N+MááááN)á soit N=7

• On prend l’opposé de J (-JáááááJ) soit J=2

• On augmente M de J (M+JááááM)á soit M=4

• On augmente N de M (N+MááááN)á soit N=11

• On prend l’opposé de J (-JáááááJ) soit J=-2

• On augmente M de J (M+JááááM)á soit M=2

• On augmente N de M (N+MááááN)á soit N=13

• On prend l’opposé de J (-JáááááJ) soit J=2

• On augmente M de J (M+JááááM)á soit M=4 etc…

DECOMPOSITION D’UN NOMBRE EN FACTEURS PREMIERS

Utilisation On lance le programme principal FACT PRM.

Exemple: 147

(on presse EXE après chaque affichage de di- viseur)

Exemple: 360

(on presse EXE après chaque affichage de di- viseur)

Exemple: 456812

(on presse EXE après chaque affichage de di- viseur)

Exemple: 12347

(on presse EXE après chaque affichage de di- viseur)

(2)

NOMBRES G RIP

CASIO

FACT PRM

Nom du programme

Prog 5

N° du programme

A N N

DECOMPOSITION D’UN NOMBRE EN FACTEURS PREMIERS

• Demander A.

• N = 2

◊ Procédure Divisions de A par N

• N = 3

Procédure Divisions de A par N

• N = 5 et M = 2 et J = -2 Faire:

◊ Procédure Divisions de A par N

• Augmenter N de M

• J devient -J

• Augmenter M de J Tant que N ≤ √A

• Si A≠1 alors écrire A et FIN

• Sinon FIN

Procédure Divisions de A par N:

Tant que N divise A:

• Ecrire N

• Remplacer A par le quotient A/N Fin de Tant que

FIN de procédure ALGORITHME:

ClrText ClrText ClrText ClrText ClrTextäääää

"NOMBRE"?áA

"NOMBRE"?áA

"NOMBRE"?áA

"NOMBRE"?áA

"NOMBRE"?áAäääää 2áN

2áN2áN 2áN2áNäääää

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"äääää 3áN

3áN3áN 3áN3áNäääää

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"äääää 5áN:2áM:ù2áJ 5áN:2áM:ù2áJ 5áN:2áM:ù2áJ 5áN:2áM:ù2áJ 5áN:2áM:ù2áJäääää Do

DoDo DoDoäääää

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"

Prog "DIVISE"äääää N+MáN

N+MáN N+MáN N+MáN N+MáNäääää ùJáJ ùJáJùJáJ ùJáJùJáJäääää M+JáM M+JáM M+JáM M+JáM M+JáMäääää

LpWhile NÆ•A LpWhile NÆ•A LpWhile NÆ•A LpWhile NÆ•A LpWhile NÆ•Aäääää If A¨1

If A¨1 If A¨1 If A¨1 If A¨1äääää Then Aª Then Aª Then Aª Then Aª Then Aª IfEnd IfEnd IfEnd IfEnd IfEndäääää

"FIN"

"FIN"

"FIN"

"FIN"

"FIN"

While Frac (A§N)=0 While Frac (A§N)=0 While Frac (A§N)=0 While Frac (A§N)=0 While Frac (A§N)=0äääää Nª

Nª Nª Nª Nª A§NáA A§NáA A§NáA A§NáA A§NáAäääää WhileEnd WhileEnd WhileEnd WhileEnd WhileEnd

DIVISE

Nom du programme

'FACT 1ä 'FACT 1ä'FACT 1ä 'FACT 1ä 'FACT 1ä

"NOMBRE"?ÊAä

"NOMBRE"?ÊAä"NOMBRE"?ÊAä

"NOMBRE"?ÊAä

"NOMBRE"?ÊAä 2ÊNä

2ÊNä2ÊNä 2ÊNä2ÊNä Prog 6ä Prog 6äProg 6ä Prog 6ä Prog 6ä 3ÊNä 3ÊNä3ÊNä 3ÊNä3ÊNä Prog 6ä Prog 6äProg 6ä Prog 6ä Prog 6ä

5ÊN:2ÊM:-2ÊJä 5ÊN:2ÊM:-2ÊJä5ÊN:2ÊM:-2ÊJä 5ÊN:2ÊM:-2ÊJä 5ÊN:2ÊM:-2ÊJä Lbl 0ä

Lbl 0äLbl 0ä Lbl 0ä Lbl 0ä Prog 6ä Prog 6äProg 6ä Prog 6ä Prog 6ä N+MÊNä N+MÊNäN+MÊNä N+MÊNä N+MÊNä -JÊJä -JÊJä-JÊJä -JÊJä -JÊJä M+JÊMä M+JÊMäM+JÊMä M+JÊMä M+JÊMä N NN

NN≤√A…Goto 0äA…Goto 0äA…Goto 0äA…Goto 0äA…Goto 0ä A

AA AA≠1…A¶1…A¶1…A¶1…A¶1…A¶

"FIN"

"FIN""FIN"

"FIN"

"FIN"

Prog 6

Nom du programme

'DIVISEä 'DIVISEä'DIVISEä 'DIVISEä'DIVISEä Lbl 2ä Lbl 2äLbl 2ä Lbl 2äLbl 2ä A/NÊXä A/NÊXäA/NÊXä A/NÊXäA/NÊXä Frac X Frac XFrac X

Frac XFrac X≠0…Goto 9ä0…Goto 9ä0…Goto 9ä0…Goto 9ä0…Goto 9ä N¶

N¶N¶

N¶N¶

XÊAä XÊAäXÊAä XÊAäXÊAä Goto 2ä Goto 2äGoto 2ä Goto 2äGoto 2ä Lbl 9 Lbl 9Lbl 9 Lbl 9Lbl 9

(3)

NOMBRES

G RIP

CASIO

Type N sauf

fx-6910G GRAPH 20

Le programme de la fiche précédente présente de nombreux avantages:

- Pas très long à enregistrer.

- Exécutable sur les fx-6910G et GRAPH 20.

- Très performant dans la rapidité d’exécution des calculs.

Mais, son seul vrai défaut, est de donner la liste détaillée des différents facteurs premiers, par exemple 3; 3; 3; 3 au lieu de 3^4.

Nous allons donc arranger cela, dans cette fiche.

Cependant, comme nous allons exploiter les possibilités de mise en page qu’offre l’instruction Locate , ces programmes ne seront pas valides sur les fx-6910G et GRAPH 20.

Problème

Voir programmes au dos.

Utilisation On lance le programme principal FACT 1P.

• On affiche le nombre: 610304

• On presse EXE.

• On lit: 610304 = 212 x 149

• FIN indique que la décomposition est terminée.

Les points simulent le partage de l’écran en deux colonnes

Autres exemples:

Tant que le carré noir est affiché, la calculatrice calcule.

Et, … 4 minutes plus tard …, elle affiche le second facteur.

DECOMPOSITION D’UN NOMBRE

EN FACTEURS PREMIERS (suite)

(4)

NOMBRES G RIP

CASIO

DECOMPOSITION D’UN NOMBRE EN FACTEURS PREMIERS (suite)

Indications

• On nomme le premier programme: FACT 1P.

• On nomme les sous-programmes (procédures): - DIVISE1 - ECRAN - PREMIER - AFFICHE

ClrText ClrText ClrText ClrText ClrTextäääää 2áL:0áC 2áL:0áC 2áL:0áC 2áL:0áC 2áL:0áCäääää

Locate 1,1,"A="

Locate 1,1,"A="

Locate 1,1,"A="

Locate 1,1,"A="

Locate 1,1,"A="äääää Locate 3,1,A Locate 3,1,A Locate 3,1,A Locate 3,1,A Locate 3,1,Aäääää For 2áZ To 7 For 2áZ To 7 For 2áZ To 7 For 2áZ To 7 For 2áZ To 7äääää Locate 11,Z,"."

Locate 11,Z,"."

Locate 11,Z,"."

Locate 11,Z,"."

Locate 11,Z,"."äääää Next

NextNext NextNext

Locate 1,2,"---"

Locate 1,2,"---"

Locate 1,2,"---"

Locate 1,2,"---"

Locate 1,2,"---"äääää Locate 1,3," EST PREMIER "

Locate 1,3," EST PREMIER "

Locate 1,3," EST PREMIER "

Locate 1,3," EST PREMIER "

Locate 1,3," EST PREMIER "äääää Locate 1,4,"---"

Locate 1,4,"---"

Locate 1,4,"---"

Locate 1,4,"---"

Locate 1,4,"---"

A F F I C H E

If L>7 If L>7 If L>7 If L>7 If L>7äääää Then 2áL:11áC Then 2áL:11áC Then 2áL:11áC Then 2áL:11áC Then 2áL:11áCäääää IfEnd IfEnd IfEnd IfEnd IfEndäääää Locate C+1,L,X Locate C+1,L,X Locate C+1,L,X Locate C+1,L,X Locate C+1,L,Xäääää Locate C+8,L,"^" Locate C+8,L,"^" Locate C+8,L,"^" Locate C+8,L,"^" Locate C+8,L,"^"äääää Locate C+9,L,P Locate C+9,L,P Locate C+9,L,P Locate C+9,L,P Locate C+9,L,Päääää 1+LáL:0áW 1+LáL:0áW 1+LáL:0áW 1+LáL:0áW 1+LáL:0áW ClrText ClrTextClrText ClrTextClrTextäääää "---DECOMPOSITION----"

"---DECOMPOSITION----""---DECOMPOSITION----"

"---DECOMPOSITION----""---DECOMPOSITION----"äääää

"EN FACTEURS PREMIERS"

"EN FACTEURS PREMIERS""EN FACTEURS PREMIERS"

"EN FACTEURS PREMIERS""EN FACTEURS PREMIERS"äääää

" "

" "" "

" "" "äääää

"NOMBRE"?áA

"NOMBRE"?áA"NOMBRE"?áA

"NOMBRE"?áA"NOMBRE"?áAäääää Prog "ECRAN"

Prog "ECRAN"Prog "ECRAN"

Prog "ECRAN"Prog "ECRAN"äääää 2áN:0á–

2áN:0á–2áN:0á–

2áN:0á–2áN:0á–äääää

Prog "DIVISE1"

Prog "DIVISE1"Prog "DIVISE1"

Prog "DIVISE1"Prog "DIVISE1"äääää 3áN

3áN3áN 3áN3áNäääää

Prog "DIVISE1"

Prog "DIVISE1"Prog "DIVISE1"

Prog "DIVISE1"Prog "DIVISE1"äääää 5áN:2áM:ù2áJ 5áN:2áM:ù2áJ5áN:2áM:ù2áJ 5áN:2áM:ù2áJ5áN:2áM:ù2áJäääää Do

DoDo DoDoäääää

Prog "DIVISE1"

Prog "DIVISE1"Prog "DIVISE1"

Prog "DIVISE1"Prog "DIVISE1"äääää N+MáN

N+MáNN+MáN N+MáNN+MáNäääää ùJáJ ùJáJùJáJ ùJáJùJáJäääää M+JáM M+JáMM+JáM M+JáMM+JáMäääää

LpWhile NÆ•A LpWhile NÆ•ALpWhile NÆ•A LpWhile NÆ•ALpWhile NÆ•Aäääää If A¨1

If A¨1If A¨1 If A¨1If A¨1äääää Then If –=1 Then If –=1Then If –=1 Then If –=1Then If –=1äääää Then AáX:1áP Then AáX:1áPThen AáX:1áP Then AáX:1áPThen AáX:1áPäääää Prog "AFFICHE"

Prog "AFFICHE"Prog "AFFICHE"

Prog "AFFICHE"Prog "AFFICHE"äääää Else Prog "PREMIER"

Else Prog "PREMIER"Else Prog "PREMIER"

Else Prog "PREMIER"Else Prog "PREMIER"äääää IfEnd

IfEndIfEnd IfEndIfEndäääää IfEnd IfEndIfEnd IfEndIfEndäääää

Locate 19,1,"FIN"

Locate 19,1,"FIN"Locate 19,1,"FIN"

Locate 19,1,"FIN"Locate 19,1,"FIN"

0áP 0áP0áP 0áP0áPäääää

While Frac (A§N)=0 While Frac (A§N)=0While Frac (A§N)=0 While Frac (A§N)=0While Frac (A§N)=0äääää NáX:P+1áP:1áW:1á–

NáX:P+1áP:1áW:1á–NáX:P+1áP:1áW:1á–

NáX:P+1áP:1áW:1á–NáX:P+1áP:1áW:1á–äääää A§NáA

A§NáAA§NáA A§NáAA§NáAäääää WhileEnd WhileEndWhileEnd WhileEndWhileEndäääää If W=1 If W=1If W=1 If W=1If W=1äääää

Then Prog "AFFICHE"

Then Prog "AFFICHE"Then Prog "AFFICHE"

Then Prog "AFFICHE"Then Prog "AFFICHE"äääää IfEnd

IfEndIfEnd IfEndIfEnd

Ce sous-programme prépare l’écran pour un affichage des fac- teurs premiers sur deux colonnes.

Ce sous-programme affiche que le nombre est premier (quand c’est la cas).

Ce sous-programme affiche les uns sous les autres les facteurs premiers sous la forme X^P. Quand les (7-1) lignes d’affichage de la colonne de gauche sont prises, on passe à la colonne de droite (L=2 ; C=11).

FACT 1P

Nom du programme

ECRAN

Nom du programme

PREMIER

Nom du programme

DIVISE1

Nom du programme

Références

Documents relatifs

[r]

Décomposition en produit de facteurs premiers et nombres en écriture fractionnaire Synthèse des compétencesI. Je dois

Décompose en produit de facteurs premiers le nombre 4 680.. Effectuer une décomposition en

Décompose en produit de facteurs premiers le nombre

Un nombre est premier lorsqu’il n’est divisible que par 1 et

On supprime les deux derniers chiffres du nombre donné, on multiplie par 7 le nombre qu'ils forment-, on retranche le produit, des centaines du nombre, et l'on obtient im-

Un nombre simplement pair ne peut être la différence de deux carrés entiers \ car ces deux carrés sont nécessairement ou tous deux pairs ou tous deux impairs ; dès lors leur

Mais parmi les nombres plus petits que ab, il n'y en a qu'un qui soit à la fois a-f- a, et b -f-p, un seul à la fois #+<* a et Donc il y aura autant d'entiers inférieurs et