Bonjour, s'il vous plaît quelqu'un pourrait il m'aider à écrire un algo qui demande à l'utilisateur d'entré un nombre puis lui renvoi pair si le nombre est pair et impair dans le cas contraire
-----
Bonjour, s'il vous plaît quelqu'un pourrait il m'aider à écrire un algo qui demande à l'utilisateur d'entré un nombre puis lui renvoi pair si le nombre est pair et impair dans le cas contraire
Bien sur. L'algorithme s'écrit ainsi :
1) demander un nombre à l'utilisateur
2) si le nombre est pair, afficher "pair"
3) sinon afficher "impair"
Bonjour,
@Jhonny2: pourriez-vous spécifier le langage que vous utilisez (C, C++, Java, Javascript, R, Matlab, Python, peudo-code, autre) ?
Ensuite, comme il s'agit clairement d'un exercice, et conformément à la charte, montrez-nous ce que vous avez essayé de faire.
Indice: un nombre est pair s'il est divisible par 2.
Bonjour,
La méthode la plus simple avec une seule ligne de code (qu'il te faudra écrire car on ne va pas faire le boulot à ta place ) :
- Il faut "tester" le bit de poids faible, donc le bit 0.
- Tous les nombres pairs ont le bit 0 = 0
- Tous les nombres impairs ont le bit 0 = 1
Bonjour,
Pour Paraboloide_Hyperbolique : il parle d'algorithme !
En effet et surtout il veut qu'on lui fasse son exo à sa place.
Mais au moins, il aura eu une réponse avec le test du bit de poids faible, sans doute la chose la plus inadaptée qu'on puisse lui dire: ce n'est pas un algo, cela ne marche pas dans tous les langages et c'est largement au delà du niveau d'un débutant qui pose une question comme ça.
C'est l'inconvénient quand on répond, mais pas pour répondre à l'auteur de la question. Je vois que ça n'arrive pas qu'en physique
Not only is it not right, it's not even wrong!
Ceci dit, je lui ai donné l'algorithme exact dès la 1ère réponse et pour le moment, il n'est pas revenu.
Après, si son problème est les détails d'implémentation de l'algorithme du genre "comment tester si on nombre est pair", il y a plusieurs réponses même si la plus simple est probablement le modulo.
oui c'est ça que je cherchais le modulo merci en passant dsl je suis débutant"comment tester si on nombre est pair", il y a plusieurs réponses même si la plus simple est probablement le modulo.
Réponse rapide à ce messageRépondre
Bonjour,
Donc, j'avais raison d'avoir lu entre les lignes, malgré vos critiques.
Il cherchait bien une solution...
Salut,
Oui, ça je crois que tout le monde l'avait compris dès le premier message
(mais sinon pour les bits, oui, à moins d'être un crac en C, il doit pas y avoir beaucoup de débutants qui maîtrisent, et la question du début n'est pas une question d'un spécialiste. Et pire on ne connait même pas le langage. Par contre modulo est déjà beaucoup plus connu)
(mais d'accord avec Albanxiii, je ne passe pas souvent ici et ça m'amuse de voir que ce soucis n'arrive pas que dans mes forums de prédilection )
Dernière modification par Deedee81 ; 16/02/2023 à 08h34.
"Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)
En effet et historiquement, c'est ce qu'on faisait. Mais de nos jours, c'est dispo dans tous les langages et c'est pratique à connaitre pour un débutant parce que cela a d'autres usages.
En effet même si la plupart des langages modernes l'ont. Mais ça ne marcherait pas sur un ordinateur ternaire : https://fr.m.wikipedia.org/wiki/Ordinateur_ternaire
J'ai appris quelque chose Qu'est-ce qu'on n'invente pas tout de même
"Il ne suffit pas d'être persécuté pour être Galilée, encore faut-il avoir raison." (Gould)
ça ne change pas la représentation d'un nombre (c'est un état déterminé), donc ça doit aussi marcher sur un ordinateur ternaire (tant qu'on ne parle pas de base 3)
Voir https://en.wikipedia.org/wiki/Ternary_computer
Et https://en.wikipedia.org/wiki/Balanced_ternary
On peut aussi envisager un truc genre "base 5 balancé"
Ou 7 ou autre base impaire...
Jusqu'ici tout va bien...
Si tes nombres ne sont pas représentés avec des bits mais avec des trits, tester un bit devient compliqué non ?
A la limite, ils pourraient être représenté en base 10 comme ce que nous faisons et les humains ne testent pas la parité sur la base du dernier bit.
D'ailleurs, cette représentation en base 10 a existé comme couche au dessus du binaire : c'est le BCD.
https://en.wikipedia.org/wiki/Binary-coded_decimal
Dernière modification par pm42 ; 16/02/2023 à 18h51.
Sinon, je viens de penser qu'il ne faut pas oublier que les compilos modernes sont plus forts que nous en général et qu'ils savent faire les optimisations en particulier.
Donc si j'écris en C du code avec un modulo 2 :
il fait bien un modulo aussi en code généré par défaut.Code:#include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int x = atoi(argv[1]); if(x%2==0) printf("even\n"); else printf("odd\n"); }
Mais si on passe un -O3 à gcc, on récupère :
Et on constate qu'il a remplacé le modulo par un testb qui fait bien le end. Il remplace même l'appel à printf par un puts vu qu'il n'y a pas d'arguments.Code:0000000100003f50 pushq %rbp 0000000100003f51 movq %rsp, %rbp 0000000100003f54 movq 0x8(%rsi), %rdi 0000000100003f58 callq 0x100003f7a ## symbol stub for: _atoi 0000000100003f5d testb $0x1, %al 0000000100003f5f leaq 0x4a(%rip), %rax ## literal pool for: "even" 0000000100003f66 leaq 0x3f(%rip), %rdi ## literal pool for: "odd" 0000000100003f6d cmoveq %rax, %rdi 0000000100003f71 callq 0x100003f80 ## symbol stub for: _puts 0000000100003f76 xorl %eax, %eax 0000000100003f78 popq %rbp 0000000100003f79 retq
Bonjour,
désolé de faire encore un petit HS, mais je suis à la fois surpris et également soulagé que personne n'ai osé répondre au primo posteur de demander ça à qui vous savez (Miaou du papa de Pinocchio, je veux pas écrire son nom, marre de le voir partout ! )
au chat qui des problèmes de ballonnements?