Nombre parfait

Fermé
-
Messages postés
355
Date d'inscription
dimanche 9 juillet 2006
Statut
Membre
Dernière intervention
13 octobre 2014
-
Bonjour, j'aimerais créer un algorithme qui me permettra de dire qu'un nombre est parfait ou non.Mais, je ne sais pas comment s'y prendre.Aider-moi.


1 réponse

Messages postés
355
Date d'inscription
dimanche 9 juillet 2006
Statut
Membre
Dernière intervention
13 octobre 2014
62
Vas au plus simple...
En sachant qu'un nombre n est parfait si 2^x(2^(x+1)-1) = n, tu fais une boucle tu les essaies jusqu'à ce que tu trouves...

En gros ca donnerait quelque chose comme:

int x = 8128;    
bool parfait = false;    

for (int i = 1; i<=x; i++) {    
    if (2^i(2^(i+1)-1) == x)    
        parfait = true;    
}    

if (parfait = true) Console.WriteLine("Le nombre " + x + " est parfait");    
else Console.WriteLine("Le nombre " + x + " n'est pas parfait");


Ca c'est en C#, à traduire dans ton langage. C'est pas très beau de tous les essayer jusqu'à trouver, mais bon si tu veux faire simple...

EDIT: ptite faute de ma part, je viens de me rappeler qu'il n'existait rien pour faire les puissances en C# (ni en aucun autre langage à ma connaissance) donc il faut créer une fonction exprès pour le faire... un peu d'aide ici: https://codes-sources.commentcamarche.net/
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
964
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 803
@kelsett
je viens de me rappeler qu'il n'existait rien pour faire les puissances en C#
Je connais pas le langage, mais il y a la fonction qui existe déjà (pas besoin donc d'en créer une autre) : Math.pow(...)
ni en aucun autre langage à ma connaissance
En C, il y a pow, en java, ça existe aussi. En python, c'est natif : 5**2 donne 25.
Et j'en passe.

Cdlt,
Messages postés
355
Date d'inscription
dimanche 9 juillet 2006
Statut
Membre
Dernière intervention
13 octobre 2014
62
@jisisv
Hehe, oui mais ceci étant dit, lis ce qu'il y a écrit pour les nombres parfaits impairs... "En 2009, les mathématiciens ignorent si des nombres parfaits impairs existent"... ;)

@fiddy
Ok, merci pour l'info, je ne savais pas.