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