Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > Оператор for


Автор: bITA 6.12.2020, 23:08
Код

using System;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int num;
 
            int i;
 
            int factor;
 
            bool isprime;
 
            for (num = 2; num < 20; num++)
            {
 
                isprime = true;
 
                factor = 0;
 
 
                for (i = 2; i <= num / 2; i++)
                {
 
                    if ((num % i) == 0)
                    {
 
                        isprime = false;
 
                        factor = i;
                    }
                }
 
 
            if (isprime)
               Console.WriteLine(num + " — простое число.");
 
            else
               Console.WriteLine("Наибольший множитель числа " + num + " равен " + factor);
            }
        }
    }
}


2 — простое число

3 — простое число

Наибольший множитель числа 4 равен 2

5 — простое число

Наибольший множитель числа 6 равен 3

7 — простое число

Наибольший множитель числа 8 равен 4

Наибольший множитель числа 9 равен 3

Наибольший множитель числа 10 равен 5

11 — простое число

Наибольший множитель числа 12 равен 6

13 — простое число

Наибольший множитель числа 14 равен 7

Наибольший множитель числа 15 равен 5

Наибольший множитель числа 16 равен 8

17 — простое число

Наибольший множитель числа 18 равен 9

19 — простое число


Привет всем!
Как получается результат нескольких вычислений?
а именно...

Наибольший множитель числа 9 равен 3 а не 5?
Ведь i = 5; а значит num(9)/2;
if num(4.5)%i(5) == 0)

Наибольший множитель числа 9 равен 3
Наибольший множитель числа 15 равен 5

Помоги подробно как почучаются данные вычисления.




Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)