Условие работает неправильно - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день, кто-нибудь может мне сказать почему в си условие работает не правильно в это случае (мне нужно вывести простые числа, там условие на цифру 9 не работает)
for (i=3;i<=500;i++)
    {
      for (j=2;j<=i;j++)
    {
      if ((!(i%j==0)&&(i%2==0))) k++;
    }
     if (k==0) printf("%i ",i); else k=0;
    }
Заранее благодарен

Решение задачи: «Условие работает неправильно»

textual
Листинг программы
#include <stdio.h> 
int main() 
{ 
int i,j,k=0;
 
    for (i=3;i<=500;i++)
    {
        for (j=2;j<i;j++)
        {
        if (i%j==0) k=1;
        }
    if (k==0) printf("%i ",i); else k=0;
    }
}

Объяснение кода листинга программы

В этом коде используется два вложенных цикла. Первый цикл проходит по числам от 3 до 500, а второй цикл проверяет, делится ли текущее число (i) на любое из чисел от 2 до (i-1). Если делится, то переменная k принимает значение 1. После проверки всех чисел от 2 до (i-1), выводится само число i, если k по-прежнему равно 0. Если же k равно 1, то k сбрасывается обратно в 0. Вот список, описывающий код:

  1. #include - подключает файл стандартного ввода/вывода, позволяя использовать функции для вывода данных
  2. int main() - функция main(), в которой находится точка входа в программу
  3. int i,j,k=0; - объявление трех переменных: i, j и k. Значение k устанавливается в 0
  4. for (i=3;i<=500;i++) - первый цикл. Проходит по числам от 3 до 500 включительно
  5. for (j=2;j<i;j++) - вложенный цикл. Проходит по числам от 2 до (i-1)
  6. if (i%j==0) k=1; - проверка, делится ли i на j без остатка. Если да, то k принимает значение 1
  7. if (k==0) printf(%i,i); else k=0; - если k по-прежнему равно 0, то число i выводится на экран. Если нет, то k сбрасывается обратно в 0
  8. } - закрытие вложенного цикла
  9. } - закрытие внешнего цикла
  10. } - закрытие функции main()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы