Написать функцию, которая печатает в консоль либо четные, либо нечетные числа от 0 до N
Помогите пожалуйста решить задачу. «Написать функцию, которая в зависимости от своих параметров печатает в консоль либо четные, либо нечетные числа от 0 до N (N тоже сделать параметром функции).» Необходимо написать функцию с двумя аргументами(bool с — булевая переменная для отображения четных или нечетный чисел, int n — число до которого необходимо печатать) Минимизировать количество циклов и условий. Нашел решение через переменные типа int:
,но нужно использовать bool. Заранее большое спасибо!
![]()
А вот более красивее и компактная реализация функции:
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как вывести нечетные числа числа от 0 до 20 используя FOR?
Нужно написать программу которая выводит нечетные числа числа от 0 до 20 используя исключительно цикл for.
Данная программа выводит числа от 0 до 20. Я не пойму, почему она не печатает нечетные числа, в коде вроде правильно все?! Поясните пожалуйста момент, буду благодарен.
Вот такая же программа с добавлением continue и все работает как надо. Почему так происходит? Ведь и без continue должны печататься нечетные, или я не прав? В чем причина? Не пойму..
C++ Вывести на экран все нечетные числа от 1 до 20, через цикл for.
int main()
<
setlocale(LC_ALL, «Russian»); //для русского языка
int x = 0; // объявляем переменную
cout << «Введите число: «;
cin >> x; // получаем х от пользователя
for (int i = 0; i < x; ++i) // цикл от 0 до переменной х
<
if (i % 2 == 1) // если остаток от числа при делении на 2 дает 0
<
cout << i << endl; // то вывести его на экран
>
>
return 0; //завершаем программу
>
Проверьте, является ли число четным или нечетным, без использования условного оператора
По заданному числу определите, четное оно или нечетное, не используя условный оператор (if-else) или тернарный оператор.
Способ 1: использование массива строк
Идея состоит в том, чтобы использовать оператор по модулю или LSB, чтобы определить, является ли число четным или нечетным. Вместо использования условного оператора для вывода четных/нечетных значений мы можем использовать индекс массива строк, как показано ниже на языке C/C++:
Способ 2: использование короткого замыкания в логических выражениях
Мы можем воспользоваться короткое замыкание в логических выражениях. Мы знаем, что в логическом AND операция, такая как x && y , y оценивается только в том случае, если x правда. Если x ложно, то y не оценивается, потому что все выражение станет ложным, что можно вывести, даже не оценивая y . Точно так же для логической операции ИЛИ, такой как x || y , y оценивается только в том случае, если x является ложным. Если x верно, то y не оценивается. Это называется коротким замыканием в логических выражениях.
Мы можем применить эту логику для решения данной проблемы. Рассмотрим следующий фрагмент кода:
Сначала проверьте, есть ли n является нечетным или четным. Если n нечетно, первое подвыражение AND становится истинным, а его второе подвыражение printf(«odd») получает оценку. В противном случае, если n четно, первое подвыражение OR станет ложным, а его второе подвыражение printf(«even») получает оценку.