Задачи за тренинг

Задача 2а. K-та редица на Фибоначи Gk дефинираме по следния начин (k > 0):
                      Gk(n) = Gk(n-1) + Gk(n-2) + ... + Gk(n-k)
за n > = k при зададени 
(1)                  Gk(0), Gk(1), ... , Gk(k-1). 
Да се напише програма за проверка дали дадено число е елемент от такава редица и ако е елемент, да се намери индексът му в редицата. Оригиналната редица на Фибоначи се получава при k=2 и G2(0) = G2(1) = 1.

Вход:
На първия ред се задава редица от k числа, които са първите членове на редицата.
На следващия ред са дадените числа за проверка. По същия начин се задават няколко примера. Всички числа са цели в интервала [0, 1000].

Изход:

За всяко число за проверка (от входа) се извежда -1, ако числото не е член на редицата и индексът му (неотрицателно цяло число), ако е член. Ако числото се среща 2 или повече пъти в редицата, извежда се най-малкия индекс. Числата за всеки пример от входа са на един ред с разделител интервал, а за различни примери - на различни редове.

Пример:
1 1
2 10 55 4 1
1 2 1
1 12 23 5

Решение на примера:
2 -1 9 -1 0
0 5 6 -1


Задача 2b. Да се напише програма, която да може да пресметне всеки елемент на редицата на Фибоначи
                          1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

Вход:
На отделни редове се задават индекси на елементи в редицата, неотрицателни цели числа, по-малки от 10000.

Изход:
За всеки индекс на отделен ред се извежда съответния елемент от редицата.

Пример:
0
6
10


Решение на примера:
1
13
89