Informatică, întrebare adresată de anamariaany45p9ya3w, 8 ani în urmă

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.

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

(Problema #2757 CifreZecimale1 pbinfo)

Răspunsuri la întrebare

Răspuns de boiustef
6

Răspuns:

#include <iostream>

using namespace std;

int n, k, i, m, cif, num;

int main()

{

   cin >> n;

   for (i=1; i<=n; ++i)

   {

       cin >> k;

       num=100; m=3;

       while (m<k)

       {

           m+=3; ++num;

       }

       if (m-k==0) cif=num%10;

       if (m-k==1) cif=(num/10)%10;

       if (m-k==2) cif=num/100;

       cout << cif << " ";

   }

}

Explicație:

Alte întrebări interesante