Sultan
16 уровень

Codes, inc; Room #003

Статья из группы Архив info.javarush

Торт

Codes, inc; Room #003 - 1 На свой день рождения Петя купил красивый и вкусный торт, который имел идеально круглую форму. Петя не знал, сколько гостей придет на его день рождения, поэтому вынужден был разработать алгоритм, согласно которому он сможет быстро разрезать торт на N равных частей. Следует учесть, что разрезы торта можно производить как по радиусу, так и по диаметру. Помогите Пете решить эту задачу, определив наименьшее число разрезов торта по заданному числу гостей (гостей >= 1). Напишите функцию public static int solve(int guests) для решения данной задачи. Доп. задание: Попробуйте решить задачу, не используя условий и тернарных операторов ("?:"). Решение: public static int solve(int guests) { return (guests + 1) / (guests % 2 + 1); }
Комментарии (20)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Docktor91 Уровень 40
26 августа 2014
момент…
terranum Уровень 28
26 августа 2014
public static int solve(int guests)
    {
        guests++;
        return (guests / 2) + (guests - guests / 2 * 2) * (guests / 2 + 1);
    }
terranum Уровень 28
26 августа 2014
public static int solve(int guests)
    {
        return (guests/2)+(guests - guests/2*2)*(guests/2+1);
    }
tsev Уровень 30
26 августа 2014
return (x+1)/((x%2)+1);
Tan4ek Уровень 20
26 августа 2014
public static int solve(int guests)
        return (guests + 1) % 2 == 0 ? (guests + 1) / 2 : guests;    
    }