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

Содержание
Читайте также:
В какой программе редактировать cr2

на вход дается положительное целое число, нужно найти последующее четное число, причем программа должна быть БЕЗ использования условного оператора. К примеру:

Ввод: 8
Вывод: 10

Отслеживать
13.6k 12 12 золотых знаков 43 43 серебряных знака 72 72 бронзовых знака
задан 23 мар 2018 в 10:20
Dilya.skywalker Dilya.skywalker
1 1 1 серебряный знак 1 1 бронзовый знак
Согласен, легкая.

А вопрос-то в чем?
23 мар 2018 в 10:21

каким должен быть код? у меня есть вот это, но оно не выполняется для нечетных чисел:#include using namespace std; int main() < int a, b; cin>> a; b=(a/2+1)*2; cout

23 мар 2018 в 10:22
добавьте 2 и в полученное число в самый правый бит выставьте 0
23 мар 2018 в 10:23
Ну так вы бы код привели в самом вопросе.
23 мар 2018 в 10:24
Или вот: i+2-i%2
23 мар 2018 в 10:28

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Для положительных чисел подойдет это:

#include int main() < int in; while(true) < std::cout > in; std::cout return 0; >

Если нужна поддержка отрицательных чисел, то (in — in % 2 + 2) заменить на (in — std::copysign(1, in) * (in % 2) + 2)

for if else чётные и нечётные числа Остаток от деления

Оба варианта защищены от деления на 0.

Отслеживать
ответ дан 23 мар 2018 в 11:18
Юрий Коротков Юрий Коротков
416 2 2 серебряных знака 5 5 бронзовых знаков

#include using namespace std; int main()< int inputNum,nextEvenNum; cin >> inputNum; nextEvenNum=(inputNum/2+1)*2; cout

Как вариант — при делении на два отсекаем остаток, так как делим в int’ах, прибавляем единицу и умножем обратно на два.

Отслеживать
ответ дан 23 мар 2018 в 13:51
Виктор Зелюков Виктор Зелюков
1 2 2 бронзовых знака

Читайте также:
В какой программе писать код на питон

Также возможен вариант с использованием побитовых сдвигов вместо операций деления/умножения: nextEvenNum=((inputNum>>1)+1)
23 мар 2018 в 13:55

    Важное на Мете

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

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

Exscord

October 2021 1 31 Report

Дано целое число n. Выведите следующее за ним нечетное число ответ желательно дать на язык с++

Answers

1 votes Thanks 0

More Questions From This User See All

Exscord

C++ | Определение чётности или нечётности числа

Exscord August 2022 | 0 Ответы

ossobenosti razvitie tyurgeshskogo kaganata

Exscord

Exscord July 2022 | 0 Ответы

pust n naimenshoe naturalnoe chislo ostatki ot deleniya kotorogo na 2345 i

рекомендуемые вопросы

rarrrrrrrr August 2022 | 0 Ответы

danilarsentev August 2022 | 0 Ответы

myachina8 August 2022 | 0 Ответы

ydpmn7cn6w August 2022 | 0 Ответы

millermilena658 August 2022 | 0 Ответы

MrZooM222 August 2022 | 0 Ответы

timobila47 August 2022 | 0 Ответы

ivanyyaremkiv August 2022 | 0 Ответы

sarvinozwakirjanova August 2022 | 0 Ответы

Helpful Social

Источник: scholar.tips

Помогите с циклом «for». Язык Python, задание с нечетными числами

Даны два целых числа a и b Напишите программу, которая выводит все нечетные числа от a до b Включительно в порядке убывания. например a = 77 b = 62 то он должен вывести все НЕЧЕТНЫЕ числа от 77 до 62 включительно!

a,b = int(input()),int(input())
for i in range(a,b,-1):
if i % 2 != 0:
print(i)

Тут работает все правильно, но если например я напишу 63 вместо 62, то он не включает НЕЧЕТНОЕ число 63(( Как это сделать? Буду очень благодарен!

Maksim Makarov

Если минимально менять твой код, то: range(a, b — 1, -1)
Такая вот особенность циклов Python: b+1 если шаг больше 0 и b-1 если шаг меньше 0.

Но можно сразу пройти только по нечётным числам — без if:
for i in range(i + i % 2 — 1, b — 1, -2): print(i)

Руслан Исаев

Где ты берешь столко ошибок

Эльмира Димаева

lst = []
x = int (input («Введите x «))
y = int (input («Введите y «))

for n in range(x,y):
lst.append(n)

z = []
for a in lst:
k = 0
for i in range(2, a // 2+1):
if (a % i == 0):
k = k+1
if (k

Юлия Постникова

С python не знаком, попробуй так: range(a, b+1, -1)

Источник: sprashivalka.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru