Инкремент. Как идет пересчет в данном коде - C#
Формулировка задачи:
Собственно учу по Шилду, немного не пойму как идет пересчет в данном коде
я понимаю что Х присваивается значение (i), собственной i у нас = 2
Давайте подставим
Следующим действием как я понял х увеличивается на 1 ? То есть наша (i) теперь равна трем, давайте подставим
if (3 <= 1) return false; - условие не выполняется
for (int i -2; 2 <=3/2; i++) - Тоже не выполняется, опять идем к тру
теперь 4
if (4<=1) - не выполняется
for ( int i -2; 2 <=4/2; i++)
if (( 2 % 2) == 0) - условие выполняется и получается Фолс. Вот, с этим я разобрался.
почему тогда в самом начале кода, стоит инкремент for (int i = 2; i <= x / i; i++) если у нас I - Это всегда двойка, какой принцип работы инкремента ? Может идет постоянно проверка и значение "i" Растет с каждим циклом ? Объясните пожалуйста, составьте на число 5, 6,7. Покажите на примере, уже час голову ломаю, даже зарегистрировался тут )
using System; class ChkNum { public bool IsPrime(int x) { if (x <= 1) return false; for (int i = 2; i <= x / i; i++) { if ((x % i) == 0) return false; } return true; } } class Parm { static void Main() { ChkNum ob = new ChkNum(); for (int i = 2; i < 10; i++) { if (ob.IsPrime(i)) Console.WriteLine(i + " prostoe chislo"); else Console.WriteLine(i + " ne prostoe"); } } }
if (2 <= 1) return false; - условие не срабатывает, переходим на следующий шаг for (int i = 2; 2 <= 2 / 2; i++) - условие опять же не срабатывает так как 2 <=2/2 -неверно идем к ретурн тру if ((2 %2) == 0) return false; return true;
Решение задачи: «Инкремент. Как идет пересчет в данном коде»
textual
Листинг программы
int max; if (IsPrime(a) || IsPrime(b)) return 1;// если IsPrime(a) == true или IsPrime(b) == true, то возавращается 1 max = a < b ? b : a; //Если а<b, то max = b, иначе max = a for (int i = 2; i <= max / 2; i++) if (((a % i) == 0) && ((b % i) == 0)) return i;//a % i Остаток от деления a на i return 1;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д