Предмет: Информатика, автор: avtobusyitrollejbusy

Знайти 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;

}

Похожие вопросы
Предмет: Математика, автор: anastasia11letdm