Décomposition en facteurs premiers Graph90+e
First unread post • 6 posts
• Page 1 of 1
Décomposition en facteurs premiers Graph90+e
Voilà un programme de factorisation de nombres entiers. J'aurais aimé avoir la présentation du résultat comme "ifactors" de Monsieur Parisse mais je n'y parviens pas, déjà sur la WP 34s et autres ordipoches. Ma foi...
Alors le programme indique le nombre premier et l'exposant, par exemple [2, 3] signifie 2^3.
Faire : dec(n) EXE.
Par exemple ma Mère est née en 1914, dec(1914) donne [[2,1], [3,1],[11,1],[29,1]], on lira 2*3*11*29. J'aurais voulu mettre le signe exposant mais je n'y arrive pas.
-
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)- Posts: 212
- Joined: 11 Mar 2015, 20:43
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Décomposition en facteurs premiers Graph90+e
en gros tu veux afficher une chaîne de caractères bien présentée ? tu peux juste afficher ou renvoyer un string
Ici je supprime le dernier caractère avant de renvoyer, sinon on aurait un signe * inutile.
- Code: Select all
def dec(n):
L = []
i = 2
while n > 1:
kt = 0
while n % i == 0:
n = n / i
kt += 1
if kt != 0:
L.append([i, kt])
i += 1
s = ""
for j in L:
if j[1] == 1:
s += str(j[0]) + "*"
else:
s += str(j[0]) + "^" + str(j[1]) + "*"
return(s[:-1])
Ici je supprime le dernier caractère avant de renvoyer, sinon on aurait un signe * inutile.
Nous sommes tous des pommes de pin.
-
~ThinkingSpace~
Niveau 8: ER (Espèce Rare: nerd)- Posts: 84
- Joined: 08 Dec 2018, 12:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: DL Math-Info
- YouTube: ThinkingSpace
Re: Décomposition en facteurs premiers Graph90+e
Bonsoir Monsieur,
D'abord merci beaucoup et ensuite bravo ! Je ne comprends pas bien les instructions str, je suis vraiment néophyte et j'apprends doucement.
Merci encore et bonne soirée.

D'abord merci beaucoup et ensuite bravo ! Je ne comprends pas bien les instructions str, je suis vraiment néophyte et j'apprends doucement.
Merci encore et bonne soirée.

-
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)- Posts: 212
- Joined: 11 Mar 2015, 20:43
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Décomposition en facteurs premiers Graph90+e
@ggauny :
Par ailleurs, il y a une petite erreur : il faudrait faire une division entière à la ligne 7
Enfin
Pour éviter les "*" en trop, et séparer les différents facteurs, on peut remplacer les lignes 12 à 18 par :
str(truc)
transforme truc (ici des nombres entiers) en une chaîne de caractères.Par ailleurs, il y a une petite erreur : il faudrait faire une division entière à la ligne 7
n = n // i
Enfin
return
est une instruction et non une fonction. Les parenthèses autour de s[:-1]
sont inutiles.Pour éviter les "*" en trop, et séparer les différents facteurs, on peut remplacer les lignes 12 à 18 par :
- Code: Select all
return " * ".join(str(p) + ("^" + str(e) if e != 1 else "") for (p,e) in L)
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5644
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Décomposition en facteurs premiers Graph90+e
Merci Bisam,
Eh ben dites-donc pour programmer en python, j'ai encore du chemin à faire !!!
(PS : j'ai mis != à la place de e==1 car sinon le programme me donnerait, par exemple 2^1 * 3^1 au lieu de 2 *3).
Eh ben dites-donc pour programmer en python, j'ai encore du chemin à faire !!!
(PS : j'ai mis != à la place de e==1 car sinon le programme me donnerait, par exemple 2^1 * 3^1 au lieu de 2 *3).
-
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)- Posts: 212
- Joined: 11 Mar 2015, 20:43
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Décomposition en facteurs premiers Graph90+e
Effectivement, petite faute de frappe de ma part. J'ai corrigé ci-dessus.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5644
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
6 posts
• Page 1 of 1
Return to Problèmes divers / Aide débutants
Who is online
Users browsing this forum: No registered users and 2 guests