11000. Пчела
В Африке живет специальный вид
пчел. Каждый год самка производит на свет одого самца, а самец – самца и самку,
после чего родители погибают. Ученые изобрели магическую самку пчелу, которая
плодится как обыкновенная самка, но при этом является бессмертной. Необходимо
вычислить число самцов и общее количество пчел в семействе, если изначально
была лишь одна магическая самка пчела.
Вход. Каждая
строка содержит целое N (N ³ 0).Последний тест содержит N = -1 и не обрабатывается.
Выход. Для каждого значения N вывести
число самцов и общее количество пчел в семействе через N лет. Выводимые числа
не более 232.
1
3
-1
1 2
4 7
числа Фибоначчи
Обозначим n - ое число Фибоначчи через f(n).
Тогда через n лет число самцов в
пчелином семействе будет равно f(n) –
1, а общее число пчел f(n + 1) – 1.
Через n = 0 лет семейство состоит из
единственной пчелы самки, то есть имеется 0 самцов и 1 пчела. Положим f(0) = 1,
f(1) = 2. Далее по индукции докажем справедливость приведенного утверждения.
После n + 1 года число самцов равно
суммарному числу самок и самцов после n
- го года, то есть f(n + 1) – 1.
Число самок после n + 1 года равно
числу самцов после n - го года плюс
одна бессмертная самка, то есть f(n)
– 1 + 1 = f(n). Таким образом общее
число пчел после n + 1 года равно f(n + 1) – 1 + f(n) = f(n + 2) – 1.
Искомые числа Фибоначчи не
превосходят 232. Вычислим их первые 50 значений и занесем в массив f
типа long long.
long long f[50];
Заполним массив f числами
Фибоначчи.
f[0] = 1; f[1] =
2;
for(i = 2; i < 50; i++) f[i] = f[i-1] + f[i-2];
Для каждого входного n выведем
результат.
while(scanf("%d",&n),n
>= 0)
printf("%lld %lld\n",f[n] -
1,f[n+1] - 1);