Modulo C/C++ [Résolu/Fermé]

katerina 1 Messages postés dimanche 18 novembre 2007Date d'inscription 18 novembre 2007 Dernière intervention - 18 nov. 2007 à 20:33 - Dernière réponse : nicolasbaradel 1 Messages postés lundi 20 février 2017Date d'inscription 20 février 2017 Dernière intervention
- 20 févr. 2017 à 12:02
Bonjour,
Je voudrais savoir comment je peut exprimer la fonction "modulo" des maths en C ou C++.
Comment peut-on verifier si un nombre peut etre divise par un autre?
(excusez-moi mais je ne peut pas mettre des tons)
merci!
Afficher la suite 

10 réponses

sfel 1651 Messages postés lundi 18 juin 2007Date d'inscription 15 juillet 2009 Dernière intervention - 18 nov. 2007 à 20:39
+85
Utile
8
bonjour

ta question est très bien formulée.

le modulo s'écrit %

ainsi 3%2 nous donnera 1
4%2 nous donnera 0
5%3 nous donnera 2
Cette réponse vous a-t-elle aidé ?  
Donc on parlera de division entière :-)
La question est très bien formulée, la réponse par contre bofbof...

1°) La proposition mathématique "A ?= B mod C" (A est-il congru à B modulo C ?) s'exprime en C++ comme suit : (A%C == B%C). Attention cela ne fonctionne qu'avec les nombre positifs en C++.

2°) A divise B ssi (B%A == 0)
comment faire en C de trouver tous les nombres qui se termine par 5?
et merci d'avance
Tu testes tous ceux qui sont divisibles par 5, mais pas par 2.
En gros, if ( nombre%5 == 0 && nombre%2 != 0) { } ...
nicolasbaradel 1 Messages postés lundi 20 février 2017Date d'inscription 20 février 2017 Dernière intervention - 20 févr. 2017 à 12:02
Une remarque de plus : Pour les modulo en k de la forme 2^n (si on connait à l'avance l'argument), le mieux est de faire : A & k-1

En particulier si k = 2, modulo 2 se fait A & 1. Après, il se peut que si le chiffre est écrit en dur A % 2 que le compilateur lui même optimise, mais dans le doute, cette solution est meilleure.

& est le "ET" binaire (ne pas confondre avec && le ET logique), il fait le "ET" bit à bit. 1 en binaire c'est 00...001. Ainsi le & ne mettra que des 0 sur le chiffre et le dernier sera 1 si le dernier de A est 1 et 0 sinon, ce qui fera pile 1 ou 0 soit le modulo.
-4
Utile
je cherche d'une fonction qui nous lui Indiquez un nombre et elle nous donner tous les numéros viable divisible par ce nombre en c ou c++ svp .