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
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!
Alte întrebări interesante
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Chimie,
9 ani în urmă