Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1587 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Besoin d'aide algo, initiation!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin d'aide algo, initiation!

n°1790514
guigui783
Posté le 22-09-2008 à 15:24:29  profilanswer
 

Bonjour je suis débutant en programmation, et je dois faire un algorithme (en français) qui me permet de connaitre tous les facteurs d'une nombre je ne vois pas comment faire, ce qui me gène, c'est comment écrire que mon nombre (n) doit etre diviser par des entiers, stoker ces entiers et continuer a essayer des divisions sur ce qu'il me reste... merci de votre aide

mood
Publicité
Posté le 22-09-2008 à 15:24:29  profilanswer
 

n°1790522
Gf4x3443
Killing perfection
Posté le 22-09-2008 à 15:39:46  profilanswer
 

Désolé d'être péremptoire comme ca, mais on apprend plus la décomposition en nombre premiers à l'école?


---------------
Petit guide Kerberos pour l'administrateur pressé
n°1790540
guigui783
Posté le 22-09-2008 à 15:55:37  profilanswer
 

lol! si si, mais comment le traduire!! avec les formulations correctes!!!  
par exemple n un entier, je dois tester des divisions sur n, chaque fois que ca me donne un nombre entier je dois le stoker ensuite reprendre le résultat et le rediviser par le nombre suivant, etc... a la fin je dois avoir une liste de tout les nombres qui divisent n... ca se traduit comment en algo ca? quelle formulation utiliser?  
 
autre chose si je veux par exemple diviser n par des nombre de 1 à 100 et m'arreter lorsque le resultat est un entier je peux ecrire :  
 
n,s,i :  Entier
tant que s different d'un entier
  faire  
     s<-n/i  
     pour i de 1 à 100 [pas 1]
....

n°1790554
Elmoricq
Modérateur
Posté le 22-09-2008 à 16:05:17  profilanswer
 

Je ne connais pas de formulation correcte. Un algo c'est juste un moyen de détailler un procédé, en faisant abstraction complète de tout l'aspect technique, dans un langage intelligible.

 

Exemple : http://fr.wikipedia.org/wiki/Quicksort
Comme tu peux le voir dans l'algo détaillé sur la page du wiki, il n'y a strictement rien de technique.


Message édité par Elmoricq le 22-09-2008 à 16:05:30
n°1790693
kamaradcli​mber
climber....sonde....
Posté le 22-09-2008 à 23:02:46  profilanswer
 

en genreal on peut utiliser loperateur modulo qui calcule le reste de la division euclidienne de a par b, quand il vaut 0 cest que a divise b
ensuite tu fait exactement comme tu procederais a la main...

n°1792169
MagicBuzz
Posté le 25-09-2008 à 23:04:35  profilanswer
 

à mon avis, l'algo recherché c'est pas tout à fait celui de guigui783
 
je ferais pas "pour de 1 à 100", mais "pour de 2 à n avec un pas de 1
 
et quand ça tombe juste, on reborne la boucle n/i histoire de pas itérer pour rien sur des diviseur potentiels impossible, et on teste n/i en reprenant le même i car je pense qu'il faut dire que "42 = 2 * 3 * 7" et non "42 divisible par 2, 3, 7, 6, 14, 21, 42", et que "36 = 2 * 2 * 3 * 3"
 
a noter que si en sortie de boucle tu n'as rien trouvé en bornant avec racine carrée, alors c'est un nombre premier, donc divisible seulement par lui-même.
 
et tu peux optimiser légèrement en testant à la main la division par 2, et en modifiant la boucle pour partir de 3 avec un pas de 2, histoire de ne pas tester inutilement tous les nombres pairs


Message édité par MagicBuzz le 25-09-2008 à 23:40:36
n°1792180
MagicBuzz
Posté le 25-09-2008 à 23:52:22  profilanswer
 

En fait, l'optimisation avec le pas de 2 est chiante, parcequ'il faut la tester tant que le nombre est divisible par 2, sinon tu te retrouves avec 16 = 2 * 8 :D

n°1792186
Gf4x3443
Killing perfection
Posté le 26-09-2008 à 00:57:22  profilanswer
 

Boarff, c'est une boucle en plus avant qui divise par deux tant que le nombre est pair, c'est pas mortel non plus


---------------
Petit guide Kerberos pour l'administrateur pressé
n°1792360
MagicBuzz
Posté le 26-09-2008 à 11:48:50  profilanswer
 

oui, clairement pas, juste que ça allourdi l'algo


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Besoin d'aide algo, initiation!

 

Sujets relatifs
Les pointeurs en algobesoin d aide organisation table
Demande d'aidedemande aide pour corriger mon compteur
macro pour jeuxvideo aide!Jeu flash Halo (warthog) bien foutu, besoin d'un programmeur...
Aide sur une expression régulière pour preg_replace()à l'aide : mon script ne fonctionne pas sous w2k
Quel language choisir pour mon besoin ? 
Plus de sujets relatifs à : Besoin d'aide algo, initiation!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR