Problema #2757 de pe pbinfo.ro 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.
Răspunsuri la întrebare
Răspuns de
2
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:
După o mică cercetare a codului, după o citire atentă a enunțului, sper să fie clar codul și logica lui... Succese!
alx2004mc:
Multumesc mult!
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă