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; }