Задача тижня 12.03.12 – 18.03.12
Послідовність
Задане двозначне число A доповнюємо, дописуючи до нього справа на кожному кроці суму двох останніх цифр числа, утвореного на попередньому кроці. Наприклад: 29 → 2911 → 29112 → 291123 → 2911235 →…
1. Створіть програму, що за заданим A визначає k-ту цифру числа, утвореного за описаним правилом.
Вхідні дані
Значення A – ціле число від 10 до 99, вводиться з клавіатури (з файлу або задається як константа);
значення k – ціле число від 1 до 10000, вводиться з клавіатури (з файлу або задається як константа).
Вихідні дані
Значення b – k-та цифра числа, утвореного за описаним правилом, виводиться на екран.
2. Заповніть тестову таблицю за результатами роботи програми:
| № | A | k | b |
| 1 | 29 | 9 | 1 |
| 2 | 22 | 99 | |
| 3 | 31 | 200 | |
| 4 | 50 | 1111 | |
| 5 | 77 | 2012 | |
| 6 | 85 | 5432 | |
| 7 | 99 | 10000 |
Аналіз розв’язку задачі «Послідовність»
Для розв’язку даної задачі не потрібно зберігати всю послідовність чисел, достатньо лише на кожному кроці знати дві останні цифри в послідовності.
1. Введемо позначення довжини послідовності. У початковий момент m = 2.
2. Визначимо цифри числа A: першу v1 = A div 10; другу – v2 = A mod 10;
3. Знайдемо значення z – суму отриманих 2-х чисел v1 і v2: z = v1+v2;
4. Визначимо цифри наступного двозначного числа, яке слід піддати подальшій обробці. Якщо z – однозначне число (z div 10 = 0), то v1 = v2; v2 = z; і довжина послідовності m збільшиться на одиницю, інакше v1 = z div 10; v2 = z mod 10; і довжина послідовності m збільшиться на два.
5. Перевіряємо умову m >= k.
5.1. Якщо умова не виконується, повторюємо процедуру, починаючи з п.3
5.2. Якщо число m = k, то шукане значення дорівнює v2 (остання цифра послідовності).
5.3. Якщо число m > k, то шукане значення дорівнює v1 (передостання цифра послідовності).
інакше b = v1;
Таблиця за результатами роботи програми:
| № | A | k | b |
| 1 | 29 | 9 | 1 |
| 2 | 22 | 99 | 2 |
| 3 | 31 | 200 | 5 |
| 4 | 50 | 1111 | 5 |
| 5 | 77 | 2012 | 4 |
| 6 | 85 | 5432 | 8 |
| 7 | 99 | 10000 | 4 |
Журі оцінило надіслані розв’язки наступним чином:
| № | Учасник | Кількість балів |
| 1 | forsh3 | 4 |
| 2 | Kolgatin Andrey | 4 |
| 3 | Юрий Дончик | 4 |
| 4 | SERGEY | 4 |
| 5 | ALEX Z | 4 |




