на вход дается положительное целое число, нужно найти последующее четное число, причем программа должна быть БЕЗ использования условного оператора. К примеру:
Ввод: 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
Программа которая выводит следующее нечетное число после введенного
October 2021 1 31 Report
Дано целое число n. Выведите следующее за ним нечетное число ответ желательно дать на язык с++
Answers
1 votes Thanks 0
More Questions From This User See All
C++ | Определение чётности или нечётности числа
Exscord August 2022 | 0 Ответы
ossobenosti razvitie tyurgeshskogo kaganata
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 Links
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