Задачи за тренинг
Задача 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