Почему в ответе получилось b=0? - C#
Формулировка задачи:
Нужно умножать и найти сумму всех цифр с 1 до 100000
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace For
{
class Program
{
static void Main(string[] args)
{
uint i, a = 0, b = 0;
for (i = 1; i < 100000; i++)
{
a = a + i;
b = b * i;
}
Console.WriteLine(a);
Console.WriteLine(b);
Console.ReadLine();
}
}
}Решение задачи: «Почему в ответе получилось b=0?»
textual
Листинг программы
using System;
namespace Ghost
{
class Program
{
static void Main(string[] args)
{
try
{
checked
{
uint i, a = 0, b = 0;
for (i = 1; i < 100000; i++)
{
a = a + i;
b = b * i;
}
Console.WriteLine(a);
Console.WriteLine(b);
Console.ReadLine();
}
}
catch (OverflowException)
{
Console.WriteLine("Переполнение числовых значений");
Console.ReadLine();
}
}
}
}