Почему 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]
Ответить

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

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

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

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

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