Я пытаюсь найти, если число является простым с использованием C#. Я написал код. Он должен работать, но по какой-то причине он не кажется.Поиск, если число является простым в C#
Это мой код (я попробовал ввод 7, 13 и т.д., говорит, что они не являются простыми):
class Program
{
static void Main(string[] args)
{
long u = Console.Read();
primefinder(u);
Console.ReadLine();
}
private static void primefinder(long a)
{
long counter = 0;
for (long b = 1; b <= a; b++)
{
if ((a % b) == 0)
{
counter++;
}
}
if (counter == 2)
{
Console.WriteLine("Is prime!");
}
else
{
Console.WriteLine("Is not prime");
}
Console.ReadLine();
}
}
вы должны смотреть на то, что долго и = Console.Read(); возвращает, я подозреваю, что вы захотите проанализировать строку в целое число. – kenny
@DmitryBychenko - алгоритм в порядке. Это один из самых неэффективных, но правильных. – Igor
Рассматривали ли вы какие-либо способы выяснить, как и почему это не работает? – Gabe