Sultan
16 уровень

Codes Inc; Room #007

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

Садовник-художник

Codes Inc; Room #007 - 1 Садовник посадил N (1 <= N <= 50) деревьев в один ряд. После посадки деревьев садовнику нужно их покрасить. В его распоряжении есть краска трех цветов: белая, синяя и оранжевая. Сколько способов покраски деревьев есть у него, если никакие два соседних дерева нельзя красить в одинаковый цвет? Напишите функцию public static long count(int n), которая возвращает количество способов покраски n деревьев.
Комментарии (13)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
terranum Уровень 28
28 августа 2014
Так просто сказка)
Sultan Уровень 16
28 августа 2014
Кстати, так шикарней:
public static long count(int n) {
    return 3L << (n - 1);
}
terranum Уровень 28
28 августа 2014
public static long count(int n){
        return n != 1 ? 3 * (long)Math.pow(2, n-1) : 3;
    }

public static long count2(int n){
        if(n == 1)
            return 3;
        return 2*count2(n-1);
    }
terranum Уровень 28
28 августа 2014
public static int count(int n){
        return 3 + (n-1)*2;
    }