Почему a = a * (x + i) / i; и *= (x + i) / i; вернуть два разных результата?C#

Место общения программистов C#
Anonymous
Почему a = a * (x + i) / i; и *= (x + i) / i; вернуть два разных результата?

Сообщение Anonymous »

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

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

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

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

for (int i = 1; i 
, который возвращает неверный результат. < /p>
Я попытался добавить больше кронштейнов, чтобы уточнить решение. Все еще не исправил это. Мое второе предположение было, что, возможно, разделение, я получу неверный результат, так как это было бы целочисленное разделение, но почему он работает в верхнем коде.  

Подробнее здесь: [url]https://stackoverflow.com/questions/79347608/why-does-a-a-x-i-i-and-a-x-i-i-return-two-different-results[/url]

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