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

Prpblema #1910 numarminim0 va rog:
Cerința
Georgiana a mai primit o problemă de la doamna profesor. Se dau n triplete de forma m, b, r, iar pentru fiecare triplet Georgiana trebuie să afle care este cel mai mic număr natural format cu m cifre, care împărţit la b dă restul r.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n triplete de numere naturale.

Date de ieșire
Programul va afișa pe ecran, pe linii separate, cele n numere cerute.

Restricții și precizări
1 ≤ n ≤ 10
1 ≤ m ≤ 100.000
2 ≤ b ≤ 10
0 ≤ r < b

Exemplu
Intrare

3
2 3 1
3 5 4
4 6 0
Ieșire

10
104
1002
Explicație
Cel mai mic număr de două cifre care dă restul 1 la împarţirea cu 3 este 10.
Cel mai mic număr de trei cifre care dă restul 4 la împarţirea cu 5 este 104.
Cel mai mic număr de patru cifre care dă restul 0 la împarţirea cu 6 este 1002.

Răspunsuri la întrebare

Răspuns de boiustef
5

Răspuns:

Explicație:

#include <iostream>

using namespace std;

int n, i, m[11], b, r, cif, num[11], r2, j;

int main()

{

   cin >> n;

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

   {

       cin >> m[i] >> b >> r;

       r2=1;

       for (j=1; j<m[i]; ++j)

           r2=(r2*10)%b;

       if (r>=r2) cif=r-r2;

       else cif=b+r-r2;

       num[i]=cif;

   }

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

   {

       cout << 1;

       for (j=1; j<=m[i]-2; ++j)

           cout << 0;

       cout << num[i] << endl;

   }

}


laurstefan2002: Multumesc!
boiustef: cu plăcere, succese şi sănătate
laurstefan2002: La fel
laurstefan2002: M-ai putea ajuta si la 1884 ca nu imi iese doar de 40 si imi trebe
Alte întrebări interesante