π
<-
Chat plein-écran
[^]

Décomposition en facteurs premiers Graph90+e

:g100g100p: :g100p: :g20: :g25g60: :g25p: :g25pp: :g30g35: :g35pg65: :g35pu: :g75g95: :g80: :g85: :g85s: :prizm:

Décomposition en facteurs premiers Graph90+e

Message non lude ggauny@live.fr » 09 Fév 2023, 12:55

ifact1.py
(168 Octets) Téléchargé 46 fois
Bonjour à tous,

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.
Avatar de l’utilisateur
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 43.4%
 
Messages: 283
Inscription: 11 Mar 2015, 20:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Message non lude ~ThinkingSpace~ » 09 Fév 2023, 20:00

en gros tu veux afficher une chaîne de caractères bien présentée ? tu peux juste afficher ou renvoyer un string
Code: Tout sélectionner
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.
Avatar de l’utilisateur
~ThinkingSpace~
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 7.4%
 
Messages: 85
Inscription: 08 Déc 2018, 12:06
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: DL Math-Info
YouTube: ThinkingSpace

Re: Décomposition en facteurs premiers Graph90+e

Message non lude ggauny@live.fr » 09 Fév 2023, 20:39

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.
:)
Avatar de l’utilisateur
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 43.4%
 
Messages: 283
Inscription: 11 Mar 2015, 20:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Message non lude Bisam » 10 Fév 2023, 13:40

@ggauny : 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: Tout sélectionner
return " * ".join(str(p) + ("^" + str(e) if e != 1 else "") for (p,e) in L)
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Message non lude ggauny@live.fr » 10 Fév 2023, 17:37

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).
Avatar de l’utilisateur
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 43.4%
 
Messages: 283
Inscription: 11 Mar 2015, 20:43
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Message non lude Bisam » 11 Fév 2023, 18:32

Effectivement, petite faute de frappe de ma part. J'ai corrigé ci-dessus.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.6%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile


Retourner vers Problèmes divers / Aide débutants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
860 utilisateurs:
>811 invités
>44 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)