• Предмет: Информатика
  • Автор: avtobusyitrollejbusy
  • Вопрос задан 4 месяца назад

Знайти k-ту цифру послідовності 110100100010000... , у якій виписано поспіль степені 10. Мова C++​

Ответы

Ответ дал: YanCrab
1

Відповідь:

#include<iostream>

using namespace std;

int main()

{

int k;

cin >> k;

int length = 1; //length of the current number

int start = 1; //start of the current number

int end = start * 10 - 1; //end of the current number

while(k > end)

{

length++;

start = end + 1;

end = start + length * 9 - 1;

}

int position = k - start; //position of k in the current number

int number = pow(10, length - 1) + position / length;

int digit_position = length - position % length;

int result = number / pow(10, digit_position - 1) % 10;

cout << result << endl;

return 0;

}

Вас заинтересует