Почему a *= b и a = a * b возвращают два разных результата в C#?C#

Место общения программистов C#
Ответить
Anonymous
 Почему a *= b и a = a * b возвращают два разных результата в C#?

Сообщение Anonymous »

Я рассчитываю количество возможных маршрутов в сетке 20 * 20 сверху слева вниз справа, когда возможны только движения вниз и вправо.
Я читал о расчете биномиального коэффициента для расчета маршрутов и реализовал это в своем коде:

Код: Выделить всё

public void Code()
{
Console.WriteLine(countRoutes(20));
}

public long countRoutes(int x)
{
long result = 1;

for (int i = 1; i 
[code]result *= (x + i) / i;
который возвращает неверный результат.
Я попробовал добавить дополнительные скобки, чтобы прояснить решение. Все равно не исправил. Мое второе предположение заключалось в том, что, возможно, деление на I даст неправильный результат, поскольку это будет целочисленное деление, но почему оно работает в верхнем коде.

Подробнее здесь: https://stackoverflow.com/questions/793 ... sults-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»