346
Cerința
Se consideră șirul de cifre zecimale obținut prin scrierea consecutivă a numerelor naturale de la 100 la 999: 100101102103104105…995996997998999. Să se afișeze cifra ce apare pe poziția k în acest șir.
Date de intrare
Programul citește de la tastatură un număr natural n și apoi n numere naturale nenule, k.
Date de ieșire
Programul va afișa pe ecran, pe un singur rând și separate printr-un spațiu, n numere reprezentând cifrele din șir de pe pozițiile k, citite.
Restricții și precizări
- 1 ≤ n ≤ 100.000
- 1 ≤ k ≤ 2700
Exemplu
Intrare
3 5 10 18
Ieșire
0 1 5
Explicație
A 5-a cifră din șir este 0, cea de pe poziția 10 este 1, iar cea de pe poziția 18 este 5.
#include <bits/stdc++.h>
using namespace std;
int c[3000];
int main()
{
int p = 1;
for(int i = 100 ; i <= 999 ; ++i)
{
int ci = i;
c[p+2]=ci%10;
ci/=10;
c[p+1]=ci%10;
ci/=10;
c[p]=ci;
p+=3;
}
int n;
cin >> n;
int x;
for(int i = 1 ; i <= n ; ++i)
cin >> x, cout << c[x] << ' ';
return 0;
}
Comentarii