Я начинаю, и я пытаюсь запустить программу, которая печатает все числа от 1 до N (ввод пользователя), за исключением тех, которые делятся на 3 и 7 одновременно. Однако мой код делает то, что он печатает числа от 1 до N, за исключением тех, которые делятся на 3 или 7. Я некоторое время изучал его, и я понятия не имею, почему он это делает. Пожалуйста, объясните мне, где я ошибаюсь.
static void Main(string[] args)
{
int n = 0;
int a = 0;
n = Convert.ToInt32(Console.ReadLine());
while (a <= n)
{
a++;
if (a % 3 != 0 && a % 7 != 0)
{
Console.WriteLine(a);
}
}
Console.ReadKey();
}
Когда я меняю знаки оператора if на ==
, оператор &&
работает правильно, но если знак !=
, он просто действует как оператор ||
, так что меня еще больше смущает. Проблема, скорее всего, в состоянии, но я не вижу, что с ней не так.