Répondre
Douxxis
Rang 4

Avatar de Douxxis

BTS Informatique et réseaux...
Lycéen

Remerciements : 10
Post Posté le 05/10/2009 à 21:55:06    Sujet du message : BTS IRIS - Problème Algorithmique
Bonjour,

j'aimerais que quelqu'un m'indique comment procéder pour écrire l'algorithme suivant :

Un nombre entier est dit parfait, s'il est égal à la somme de ses diviseurs (1 inclus, le nombre exclus). Déterminer tous les nombres parfaits entre 1 et 100

Les nombres parfaits que j'ai trouvé sont les suivants :

6 = 1+2+3
28 = 1+2+4+7+14

Quel sera l'algorithme du programme pour trouver ces chiffres.

Merci.
message privé Message privé remercier Remercier Citer le message Citer
 
Feust
Administrateur

Avatar de Feust

HEC
Etudiant

Remerciements : 285
Post Posté le 07/10/2009 à 08:46:41    Sujet du message : BTS IRIS - Problème Algorithmique
Une complexité minimale algorithmique a-t-elle été imposée ?
message privé Message privé remercier Remercier Citer le message Citer
 
Feust
Administrateur

Avatar de Feust

HEC
Etudiant

Remerciements : 285
Post Posté le 07/10/2009 à 09:10:47    Sujet du message : BTS IRIS - Problème Algorithmique
Si ce n'est pas le cas, tu peux dérouler ton algo tout naturellement sans attraper une migraine. Mais niveau perf' ca risque d'être un peu lourd Clin doeil

First things first :
Je te propose une fonction qui va prendre en argument un entier et qui renvoyer la somme de ses diviseurs.

fonction renvoie_somme_diviseurs(n entier)
début
Entier i = 0
Entier somme = 0
Tant que i < (n-1) faire
i = i + 1
Si n%i == 0 Alors
somme = somme + i
Fin Si
Fin Tant que
Renvoyer somme
fin



Après il ne te reste plus qu'à écrire ton algo de la manière suivante :

Entier somme = 0
Pour k = 1 à 100
Si renvoie_somme_diviseurs(k) == k Alors
Ecrire k + " est un nombre parfait !!!!\n"
Fin Si
Fin Pour


Complexité pourrie : n²


A tester dans différents langages quand même pour être sur !

A noter que l'on peut se permettre d'écrire l'algo en n² car il n'y a aucun problème de perf' - fenêtre de cas réduite (de 1 à 100) -

Maintenant il doit exister d'autres méthodes bien plus performantes. Peut-être avec un quick sort ou autre. Un peu la flemme de chercher au delà de l'évidence Langue




message privé Message privé remercier Remercier Citer le message Citer
 
Douxxis
Rang 4

Avatar de Douxxis

BTS Informatique et réseaux...
Lycéen

Remerciements : 10
Post Posté le 07/10/2009 à 15:50:06    Sujet du message : BTS IRIS - Problème Algorithmique
Je te remercie d'avoir traité mon problème, maintenant il me reste plus qu'a tester sur visual studio est le tour est joué
message privé Message privé remercier Remercier Citer le message Citer
 
Répondre

Les autres sujets