Le factorielle d'un entiers (sans utilisé du "PRODUIT" )
Fermé
mOOm123
Messages postés
3
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
22 novembre 2016
-
Modifié par mOOm123 le 22/11/2016 à 00:53
mOOm123 Messages postés 3 Date d'inscription mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016 - 22 nov. 2016 à 20:17
mOOm123 Messages postés 3 Date d'inscription mardi 22 novembre 2016 Statut Membre Dernière intervention 22 novembre 2016 - 22 nov. 2016 à 20:17
A voir également:
- Le factorielle d'un entiers (sans utilisé du "PRODUIT" )
- Clé de produit windows 10 - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
- Rolland souhaite calculer le montant total des ventes de son magasin. le fichier contient, pour chaque produit, la quantité vendue et le prix unitaire. calculez le montant total des ventes. ✓ - Forum Excel
- Votre pc ne peut pas utiliser un autre écran ✓ - Forum Montage et acquisition vidéo
- Un problème s'est produit et votre pin n'est pas disponible - Windows 11
2 réponses
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
Modifié par KX le 22/11/2016 à 07:01
Modifié par KX le 22/11/2016 à 07:01
Bonjour,
"il n'y a pas une instruction pour le "produit" c'est la raison pour laquelle je veux que sa soit en somme"
Ce n'est pas très efficace de faire la somme pour calculer un produit.
Il vaudrait mieux faire ça avec des décalages de bits pour les puissances de 2.
Ex: 7*8=7*2^3, c'est à dire qu'il faut juste mettre 7 en binaire (111) et rajouter 3 zéros derrières, résultat 111000 (en binaire), c'est à dire 56.
Tu auras donc faire 1 instruction de décalage de bits (shift en anglais), ce qui est bien mieux que faire 7 sommes de 8 (ou 8 sommes de 7)...
En Java, les décalages de bits se font avec <<
Exemple :
La confiance n'exclut pas le contrôle
"il n'y a pas une instruction pour le "produit" c'est la raison pour laquelle je veux que sa soit en somme"
Ce n'est pas très efficace de faire la somme pour calculer un produit.
Il vaudrait mieux faire ça avec des décalages de bits pour les puissances de 2.
Ex: 7*8=7*2^3, c'est à dire qu'il faut juste mettre 7 en binaire (111) et rajouter 3 zéros derrières, résultat 111000 (en binaire), c'est à dire 56.
Tu auras donc faire 1 instruction de décalage de bits (shift en anglais), ce qui est bien mieux que faire 7 sommes de 8 (ou 8 sommes de 7)...
En Java, les décalages de bits se font avec <<
Exemple :
System.out.println(7 << 3); // 56
La confiance n'exclut pas le contrôle
josaphat_mayuba
Messages postés
16
Date d'inscription
samedi 12 novembre 2016
Statut
Membre
Dernière intervention
22 novembre 2016
1
22 nov. 2016 à 07:23
22 nov. 2016 à 07:23
tu peux utiliser une méthode récursive cela fait très longtemps que j'ai travaillé avec l'assembleur mais je pense qu'il est possible de faire une méthode récursive.
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
22 nov. 2016 à 18:10
22 nov. 2016 à 18:10
La récursivité n'améliorera pas le programme, ça ne fait que cacher une manipulation de piles, inutiles dans le cas présent.
De plus si le langage n'autorise pas les produits (ce qui est déjà une aberration en soit) je ne le vois pas gérer la récursivité non plus (mais je n'ai pas vérifié)
De plus si le langage n'autorise pas les produits (ce qui est déjà une aberration en soit) je ne le vois pas gérer la récursivité non plus (mais je n'ai pas vérifié)
Utilisateur anonyme
>
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
22 nov. 2016 à 18:41
22 nov. 2016 à 18:41
Bonjour
Si, si, on peut gérer la récursivité en assembleur 8085. Mais c'est "sportif" et complètement inutile ici.
Par contre, il est parfaitement normal que le langage n'autorise pas les produits. L'assembleur, par définition, reflète directement les instructions du processeur, et l'unité arithmétique et logique du 8085 ne dispose pas de la multiplication. N'oublions pas que c'est un ancêtre.
Si, si, on peut gérer la récursivité en assembleur 8085. Mais c'est "sportif" et complètement inutile ici.
Par contre, il est parfaitement normal que le langage n'autorise pas les produits. L'assembleur, par définition, reflète directement les instructions du processeur, et l'unité arithmétique et logique du 8085 ne dispose pas de la multiplication. N'oublions pas que c'est un ancêtre.
mOOm123
Messages postés
3
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
22 novembre 2016
22 nov. 2016 à 20:17
22 nov. 2016 à 20:17
XD ! Oui c'est un ancêtre comme vous le dite mais c'est le prof qui nous demandé .
22 nov. 2016 à 20:14