Глава 6: Цикли - алтернативно решение на задачата за прости числа
Здравейте,
Аз се обучавам самостоятелно по книгата "Въведение в програмирането със С#" и съм стигнала до глава "Цикли".
Задачата за прости числа много ме заинтригува и бих искала да предложа алтернативно решение.
Моята теория е, че единственото, което е нужно да се провери, е дали числото се дели на 2, 3, 5 или 7!
Ако се дели примерно на 9, 11, 13, и т.н. то със сигурност се дели и поне на едно от горепосочените 4 числа и затова няма смисъл да промверяваме с други делители.
Моят код е:
Console.WriteLine("Checking if a number is prime \n");
Console.Write("Enter a positive number: ");
int num = int.Parse(Console.ReadLine());
int divider = 2;
if ((num <= 1) || (num % 2 == 0) || (num % 3 == 0) || (num % 5 == 0) || (num % 7 == 0))
{
Console.WriteLine("The number is not prime.\n\n");
}
else
{
if (!(num % divider == 0))
{
do
{
divider = divider + 2;
}
while (divider <= 7);
}
Console.WriteLine("The number is prime.\n\n");
}
Click and drag to move
Изглежда работи! Тествах го много пъти.
Много бих се радвала, ако някой го коментира, тъй като това е моята първа самостоятелна програма.
Благодаря Ви!
Ирена
Благодаря за бързия отговор! Разбирам.