Оператор модуля С#

Я могу написать программу

int a = 3;
int b = 4;

Console.WriteLine(a % b);

Ответ, который я получаю, - 3. Как 3 mod 4 = 3???

Я не могу понять, как это вычисляется таким образом.

Ответы

Ответ 2

Я не был уверен, чего ожидать, но я не мог понять, как остаток составлял 3.

Итак, у вас есть 3 файла cookie, и вы хотите разделить их поровну между 4 людьми.

Поскольку людей больше, чем файлов cookie, никто не получает cookie (quotient = 0), и у вас есть осталось 3 куки для себя.:)

Ответ 3

3 mod 4 - остаток, когда 3 делится на 4.

В этом случае 4 переходит в 3 нулевых раза с остатком от 3.

Ответ 4

Я уже думаю, что пользователь, возможно, понял ответы. Потому что есть очень много хороших программистов... в простой формулировке % сообщает вам напоминание после деления с вашим собственным целым числом.

например,

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

Теперь ваш ввод 13 даст 1, потому что после погружения 13 на 2 остаток равен 1 в простой математике. Надеюсь, ты это понял.

Ответ 5

Как объясняют другие, но если вы не хотите использовать оператор "mod". Вот уравнение, чтобы выяснить остаток "a", деленный на "n"

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

Ответ 6

Другое "как объяснено другими", но если вам интересно еще несколько способов сделать модуль (или использовать альтернативный метод), вы можете читать эта статья, которая сравнивает несколько разных способов.

В принципе, самым быстрым способом является старый старомодный модуль, похожий на:

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

Ответ 7

Я нашел ответ, сбивающий с толку и вводящий в заблуждение.....

Модуль - это то, что осталось в первом числе после деления второго на него столько раз, сколько возможно.

1 % 1 = 0 because after dividing 1 into 1, one time, there nothing left
2 % 1 = 0 because after dividing 1 into 2, two times, there nothing left
1 % 2 = 1 because 2 won't go into 1, so 1 is left