Торт

Задача взята со страницы http://acmp.ru/index.asp?main=task&id_task=539. Предназначена для начинающих программистов и ставит целью решения задач по программированию с использованием условных операторов.

На свой день рождения Петя купил красивый и вкусный торт, который имел идеально круглую форму. Петя не знал, сколько гостей придет на его день рождения, поэтому вынужден был разработать алгоритм, согласно которому он сможет быстро разрезать торт на N равных частей. Следует учесть, что разрезы торта можно производить как по радиусу, так и по диаметру.

Помогите Пете решить эту задачу, определив наименьшее число разрезов торта по заданному числу гостей.

Входные данные

содержит натуральное число N – число гостей, включая самого виновника торжества (N <= 1000).

Выходные данные

выведите минимально возможное число разрезов торта.

Для начала быстренько разберем алгоритм.

  1. В случае, когда пришел всего один человек, мы торт не будем разрезать. Зачем? Соответственно количество разрезов == 0
  2. В случае, когда количество гостей нечетное, количество разрезов будет равняться количеству гостей. Режем по радиусу.
  3. Если же количество гостей четное, то придется резать по диаметру. Соответственно количество разрезов равно половине количества гостей.

Ниже представлен код на C++

#include<iostream>
main(){
    int A, B;
    std::cin >> A;
    if (A%2 == 0)
        B=A/2;
    else if (A==1)
        B=0;
    else
        B=A;
    std::cout << B;
}

Или же укороченная запись:

#include<iostream>
main(){
    int A, B;
    std::cin >> A;
    A%2 == 0? B=A/2:A==1?B=0:B=A;
    std::cout << B;
}