π
<-

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

Unread postby ggauny@live.fr » 09 Feb 2023, 12:55

ifact1.py
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.
You do not have the required permissions to view the files attached to this post.
User avatar
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 46.9%
 
Posts: 292
Joined: 11 Mar 2015, 20:43
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Unread postby ~ThinkingSpace~ » 09 Feb 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: 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.
User avatar
~ThinkingSpace~
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 7.4%
 
Posts: 85
Joined: 08 Dec 2018, 12:06
Gender: Male
Calculator(s):
MyCalcs profile
Class: DL Math-Info
YouTube: ThinkingSpace

Re: Décomposition en facteurs premiers Graph90+e

Unread postby ggauny@live.fr » 09 Feb 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.
:)
User avatar
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 46.9%
 
Posts: 292
Joined: 11 Mar 2015, 20:43
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Unread postby Bisam » 10 Feb 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: Select all
return " * ".join(str(p) + ("^" + str(e) if e != 1 else "") for (p,e) in L)
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Unread postby ggauny@live.fr » 10 Feb 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).
User avatar
ggauny@live.frPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 46.9%
 
Posts: 292
Joined: 11 Mar 2015, 20:43
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Décomposition en facteurs premiers Graph90+e

Unread postby Bisam » 11 Feb 2023, 18:32

Effectivement, petite faute de frappe de ma part. J'ai corrigé ci-dessus.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile


Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
907 utilisateurs:
>887 invités
>11 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)