Предмет: Информатика,
автор: avtobusyitrollejbusy
Знайти k-ту цифру послідовності 110100100010000... , у якій виписано поспіль степені 10. Мова C++
Ответы
Автор ответа:
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
Предмет: Математика,
автор: Аноним
Предмет: Українська мова,
автор: kirilkole192012
Предмет: Математика,
автор: Аноним