Question

Je peux écrire le programme

int a = 3;
int b = 4;

Console.WriteLine(a % b);

La réponse que je reçois est 3. Comment 3 mod 4 = 3 ???

Je ne peux pas comprendre comment cela se calcule ainsi.

Était-ce utile?

La solution

Parce que le reste de 3/4 = 3.

http://en.wikipedia.org/wiki/Modulo_operator

Si vous ne pouvez pas comprendre pourquoi le reste est 3, nous avons quelques plus grave problèmes ici.

Autres conseils

  

Je n'étais pas tout à fait sûr à quoi nous attendre,   mais je ne pouvais pas comprendre comment la   reste était 3.

Vous avez 3 les cookies, et vous voulez diviser eux à parts égales entre 4 personnes.

Parce qu'il ya plus de gens que les cookies, personne ne reçoit un cookie ( quotient = 0) et vous avez un reste de 3 biscuits pour vous-même. :)

3 mod 4 est le reste lorsque 3 est divisée par quatre.

Dans ce cas, 4 passe en 3 fois zéro avec un reste de 3.

Comme expliqué par d'autres, mais si vous ne voulez pas utiliser l'opérateur « mod ». Voici l'équation pour calculer le reste de « a » divisé par « n »

a-(n* int(a/n))

je pense déjà que l'utilisateur peut avoir compris les réponses .. parce qu'il ya tellement de bon programmeur .. dans % simple libellé u indique le rappel après la division avec votre propre entier.

par exemple.

int a = int.Parse(Console.ReadLine());
int b = a % 2;

maintenant que vous entrez 13, il donnera 1, becuase après la plongée 13 par 2 reste est 1 en mathématiques simples. Espérons que vous avez cela.

Une autre « comme expliqué par d'autres », mais si vous êtes curieux de savoir plusieurs autres façons de faire le module (ou utiliser une autre méthode), vous pouvez lire cet article qui benchmarks plusieurs façons différentes .

En fait, le plus rapide est le bon vieux opérateur de module façonné, semblable à:

if (x % threshold == some_value)
{
    //do whatever you need to
}

Je trouve la réponse confuse et trompeuse .....

est Modulus ce qui reste dans le premier numéro après avoir divisé la deuxième en autant de fois que possible.

1 % 1 = 0 because after dividing 1 into 1, one time, there's nothing left
2 % 1 = 0 because after dividing 1 into 2, two times, there's nothing left
1 % 2 = 1 because 2 won't go into 1, so 1 is left
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top