Как найти следующее четное число?

266
24 марта 2018, 16:36

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

К примеру:

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

Answer 1

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

#include <iostream>
int main() {
    int in;
    while(true) {
        std::cout << "In: ";
        std::cin >> in;
        std::cout << "Out: " << (in - in % 2 + 2) << std::endl << std::endl;
    }
    return 0;
}

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

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

Answer 2
#include <iostream>
using namespace std;
int main(){
    int inputNum,nextEvenNum;
    cin >> inputNum;
    nextEvenNum=(inputNum/2+1)*2;
    cout << nextEvenNum;
    return 0;
}

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

READ ALSO
Как в JFrame взаимодействовать с переменными, созданными в разных методах actionPerformed?

Как в JFrame взаимодействовать с переменными, созданными в разных методах actionPerformed?

В методе actionPerformed одной JButton у меня выполняются определенные операции с переменными, например:

145
Цикл по связанным объектам

Цикл по связанным объектам

Имеется объект типа Entry со своими полями где хранятся ключ (Long) и значение (String) и ссылка на следующий объект этого же типаЭти объекты в свою...

232
Немного вопросов о многопоточности

Немного вопросов о многопоточности

Сам не первый год пишу на java, но лишь в рамках хобби, с многопоточностью приходится не так часто работать

184
Поиск по бд Firebase | Java-android

Поиск по бд Firebase | Java-android

Есть ListView с множественным выбором,в 1 элемент которого входит к примеру - ингридиент для рецептовКак мне реализовать поиск по моей бд в firebase...

125