Отримання знань
дистанційна підтримка освіти школярів
Числовая последовательность
Входные данные
Выходные данные
Пример входных данных
Пример выходных данных
Анализ условия и обсуждение идеи решения
Пример решения на С++:
#include < stdio.h >
typedef __int64 longint;
int main(){
longint task;
longint n;
longint i,j,k,l;
longint st[10];
scanf("%I64d",&task);
while (task--) {
scanf("%I64d",&n);
i = 0;
j = 0;
l = 0;
while (l < n) {
i++;
if ( i < 10) k = 1;
else if (i < 100) k = 2;
else if (i < 1000) k = 3;
else if (i < 10000) k = 4;
else if (i < 100000) k = 5;
else if (i < 1000000) k = 6;
j += k;
l += j;
}
l -= j;
n -= l;
i = 0;
j = 0;
while (j < n) {
i++;
if ( i < 10) k = 1;
else if (i < 100) k = 2;
else if (i < 1000) k = 3;
else if (i < 10000) k = 4;
else if (i < 100000) k = 5;
else if (i < 1000000) k = 6;
j += k;
}
j -= k;
n -= j;
k = 0;
while (i) {
st[k++] = i % 10;
i /= 10;
}
printf("%I64d\n",st[k-n]);
}
return 0;
}
Попередня | Зміст | Наступна |
В системі:
гості - (1); користувачі -
(0)