Aide sûre un algorithme
MandahT
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir , voilà j’aurai besoin d’un algorithme en Visual Basic ( en Console Application) qui me permet de dire si le nombre entré est un nombre factoriel ou pas . Par exemple , si on entre 24 , c’est un nombre factoriel parce que 1*2*3*4 = 24 , par contre ; 3 ,4,5 ,7 ... ne sont pas factoriel .
A voir également:
- Aide sûre un algorithme
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Radio sure - Télécharger - Webradios
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
1 réponse
Bonjour,
Déjà... À partir de 2!, tous les nombres factoriels sont pairs
Tu peux donc exclure les nombres négatifs
Ensuite, soit tu "stockes" une liste des nombres concernés possibles et tu regardes si le nombre en fait parti ou non
=> Limité par le nombre de valeurs que tu auras stocké ...
Soit tu fais une boucle de 1 à N (n$ étant le nombre saisit..) et tu calculs la multiplication de chaque occurrence et tu regardes si à un moment tu obtiens la valeur cherchée... (beaucoup plus long si le nombre entré est très très grand.... )
Soit tu fais un mix des deux solutions.....
Si le nombre entré est plus grand que la valeur max que tu as stocké ... tu fais le calcul par itération en partant de ta plus grande valeur....
Et puis... si ç'est un nombre factoriel tu l'ajoutes automatiquement à ta liste... comme ça le prochain coup il y sera déjà...
Déjà... À partir de 2!, tous les nombres factoriels sont pairs
Tu peux donc exclure les nombres négatifs
Ensuite, soit tu "stockes" une liste des nombres concernés possibles et tu regardes si le nombre en fait parti ou non

=> Limité par le nombre de valeurs que tu auras stocké ...
Soit tu fais une boucle de 1 à N (n$ étant le nombre saisit..) et tu calculs la multiplication de chaque occurrence et tu regardes si à un moment tu obtiens la valeur cherchée... (beaucoup plus long si le nombre entré est très très grand.... )
Soit tu fais un mix des deux solutions.....
Si le nombre entré est plus grand que la valeur max que tu as stocké ... tu fais le calcul par itération en partant de ta plus grande valeur....
Et puis... si ç'est un nombre factoriel tu l'ajoutes automatiquement à ta liste... comme ça le prochain coup il y sera déjà...
En fait , j’ai déclaré une variable x et je lui assigné des valeurs :
If x= 2 or x=6 or x=24 or x=120 ... then
Console.Writeline (‘ C’est un nombre Factoriel’)
Else
Console.Writeline(“Ce n’est pas un nombre factoriel”)
Mais j’aimerais utilisé une boucle pour éviter d’entrer les nombres ( j’ai pas très bien compris ce que tu as dit)
Déjà... est-ce que le nombre est supérieur à 1 et est pair ? Oui.
Donc je continue...
Je vais donc boucler de 2 à 150 et faire le calcul ...