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

De pe pbinfo va rog:
Problema #2987:
Cerința
Se dă un număr natural n cu exact 13 cifre reprezentând un cod numeric personal. Să se afișeze anul, luna și ziua nașterii deținătorului.

Date de intrare
Programul citește de la tastatură numărul natural n, reprezentând codul.

Date de ieșire
Programul va afișa pe ecran numărul A, reprezentând anul nașterii, L, reprezentând luna nașterii și Z, reprezentând ziua nașterii, separate prin spații.

Restricții și precizări
n este un număr natural cu exact 13 cifre;
A, L, Z, vor fi afișate sub forma AA LL ZZ.
Dacă unul dintre numere x este de o cifră, se va afișa sub forma 0x.
Structura și definiția codului numeric personal poate fi gasita aici.

Exemplu
Intrare

5070521071145
Ieșire

07 05 21
Intrare

2961103042367
Ieșire

96 11 03
Explicație
Deținătorul primului CNP are data nașterii 21 mai, 2007, iar deținătorul celui de-al doilea CNP are data nașterii 3 noiembrie, 1996.

#2757:
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.

Răspunsuri la întrebare

Răspuns de boiustef
8

*******************  2987 **************

#include <iostream>  

using namespace std;

long long n, a, l, z;

int main()

{

   cin >> n;

   n=n/1000000;

   z=n%100; n=n/100;

   l=n%100; n=n/100;

   a=n%100; n=n/100;

   if (a<10) cout << 0;

   cout << a << " ";

   if (l<10) cout << 0;

   cout << l << " ";

   if (z<10) cout << 0;

   cout << z;

}

****************** 2757 ****************

#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 << " ";

   }

}


laurstefan2002: Multumesc frumos!
boiustef: cu plăcere
Alte întrebări interesante