Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- // 5 10 15 20 25 30 35 40 45 50 55
- //112358132134558914423337761098715972584418167651094617711
- int main()
- {
- cout << " 5 10 15 20 25 30 35 40 45 50 55" << endl;
- cout << "112358132134558914423337761098715972584418167651094617711" << endl;
- int k;
- cin >> k;
- int previousn = 0; //предыдущее число фиббоначи
- int n = 1; //текущее число фиббоначи
- int i = 0; //порядковый номер последней цифры
- while (true) {
- int temp = n;
- int numberOfDigits = 0; //Количество цифр в текущем числе фиббоначи
- while (temp > 0) { //Получение количества цифр в текущем числе фиббоначи
- temp /= 10;
- numberOfDigits++;
- }
- i += numberOfDigits; //Обновление порядкового номера последней цифры
- if (i >= k) { //если i >= k, то мы прошли нужную цифру или на ней
- n /= static_cast<int>(pow(10, i - k)); //отбросить i - k цифр с конца
- cout << n % 10 << endl;
- return 0;
- }
- temp = n;
- n += previousn; //Получение следующего числа фиббоначи
- previousn = temp;
- }
- }
Add Comment
Please, Sign In to add comment