diviseurs d`un entier

publicité
G
DIVISEURS D’UN
RIP
NOMBRES
CASIO
ENTIER
Problème
ES
TOUT ES
LATRIC
CALCU IO
CAS
Etablir la liste de tous les diviseurs d’un entier.
Ce travail ne correspond pas exactement à l’esprit du cours. Cependant il présente un intérêt incontestable en terme de simplicité.
La fiche suivante «DIVISEURS D’UN ENTIER» pour calculatrices type N
propose un programme nettement plus sophistiqué, plus en rapport avec le
cours.
Principe
Un nombre a étant donné, et n = 1,
◊
• On divise a par n ; soit x le quotient (x = a/n).
Si n ne divise pas exactement a :
- alors: on augmente n de 1 et on reprend à ◊ , tant que n ≤ √a.
- sinon: on écrit n et x (qui sont deux diviseurs de a), on augmente n de 1 et on reprend à ◊, tant que n ≤ √a.
Fin de Si.
Utilisation
On lance le programme L DIVIS.
Exemple avec:
456812
Exemple avec:
200
Presser EXE après
chaque affichage de
diviseurs, jusqu’à
… FIN.
200
EXE
Presser EXE après
chaque affichage de
diviseurs, jusqu’à
… FIN.
Exemple avec:
12347
Presser EXE après
chaque affichage de
diviseurs, jusqu’à
… FIN.
CASIO
DIVISEURS D’UN
ENTIER
N° du programme
Prog 8
'L
L DIVISä
"NOMBRE"?ÊAä
1ÊNä
"DIVISEURS:"ä
Lbl 2ä
A/NÊXä
Frac X≠0…Goto 9ä
N¶
X¶
Lbl 9ä
N+1ÊNä
N≤√A…Goto 2ä
"FIN"
G
RIP
NOMBRES
A
N
N° du programme
L DIVIS
"NOMBRE"?áA
ä
"NOMBRE"?áAä
For 1áN To •A
ä
•Aä
A§NáX
ä
A§NáXä
If Frac X=0
ä
X=0ä
Then Nª
Xª
ä
IfEnd
IfEndä
Next
ä
Nextä
"FIN"
N
G
RIP
NOMBRES
CASIO
DIVISEURS D’UN
ENTIER
ES
LATRIC
CALCU
type N
Problème
En recherchant la liste des facteurs premiers d’un entier, établir la liste de
tous les diviseurs de cet entier.
Principe
La liste des diviseurs commence par 1.
Un nombre a étant donné,
◊
• Un facteur premier de a (et sa puissance) est trouvé (soit xn).
• On multiplie la liste des diviseurs déjà établie par les différentes
puissances du facteur premier trouvé (c’est-à-dire successivement par: x,
x2, …, xn). Ces résultats accolés aux précédents constituent la nouvelle
liste des diviseurs.
On reprend à ◊, tant que l’on trouve un facteur premier.
Simulons cette démarche avec le nombre 200 = 23 × 52 .
Liste
Liste
↓
1
Utilisation
×
23
↓
2
4
8
↓
1
2
4
8
On lance le programme principal L DIVIS2.
200
EXE
Exemple avec:
456812
Exemple avec:
200
EXE
Exemple avec:
12347
×
Liste
52
↓
5
25
↓
1
2
4
8
5
10
20
40
25
50
100
200
G
RIP
NOMBRES
CASIO
DIVISEURS D’UN
ENTIER
Nom du programme
N
L DIVIS2
ClrText
ä
ClrTextä
{1}áList 1
ä
1ä
"NOMBRE"?áA
ä
"NOMBRE"?áAä
2áN
ä
2áNä
Prog "DIVISE2"
ä
"DIVISE2"ä
3áN
ä
3áNä
ä
Prog "DIVISE2"
"DIVISE2"ä
5áN:2áM:ù2áJ
ä
5áN:2áM:ù2áJä
Do
ä
Doä
Prog "DIVISE2"
ä
"DIVISE2"ä
N+MáN
ä
N+MáNä
ùJáJ
ä
ùJáJä
M+JáM
ä
M+JáMä
LpWhile NÆ•A
ä
NÆ•Aä
If A¨1
ä
A¨1ä
Then AáN:1áP
ä
AáN:1áPä
Prog "LIST D2"
ä
D2"ä
IfEnd
ä
IfEndä
SortA(List 1)
ä
1)ä
List 1ª
"FIN"
Nom du programme
DIVISE2
Recherche des
DIVISEURS
PREMIERS
0áP:0áT
ä
0áP:0áTä
While Frac (A§N)=0
ä
(A§N)=0ä
P+1áP
ä
P+1áPä
A§NáA
ä
A§NáAä
Détermination des
DIVISEURS
WhileEnd
ä
WhileEndä
PREMIERS
If P=0
ä
P=0ä
ä
Then Return
Returnä
Else Prog "LIST D2"
Nom du programme
LIST D2
Liste des puissances d’un même diviseur premier dans List 2.
Génération d’un nombre convenable de 1 dans List 3.
(cela revient à dimensionner List 3).
Recopie de la list 1 dans List 3.
Produit de la liste des diviseurs par les puissances du diviseur
premier.
Ajout à List 3.
Recopie de la list 3 dans List 1.
N
N
Seq(N^X,X,1,P,1)áList 2
ä
2ä
Dim List 1+P£Dim List 1áW
ä
1áWä
Seq(1,X,1,W,1)áList 3
ä
3ä
For 1áL To Dim List 1
ä
1ä
T+1áT
ä
T+1áTä
List 1[L]áList 3[T]
ä
3[T]ä
Next
ä
Nextä
For 1áL To Dim List 1
ä
1ä
For 1áK To Dim List 2
ä
2ä
T+1áT
ä
T+1áTä
List 2[K]£List 1[L]áList 3[T]
ä
3[T]ä
Next
ä
Nextä
Etablissement de
Next
ä
Nextä
la LISTE des
List 3áList 1
DIVISEURS
Téléchargement