323
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 ≤ 101 ≤ m ≤ 100.0002 ≤ b ≤ 100 ≤ 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.
#include <bits/stdc++.h>
using namespace std;
int n , a[20] , b , r , cif , nu[20] , rest;
int main()
{
cin >> n;
for(int i = 1 ; i <= n ; i++)
{
cin >> a[i] >> b >> r;
rest = 1;
for(int j = 1 ; j < a[i] ; j++)
rest = (rest * 10) % b;
if(r >= rest) cif = r - rest;
else cif = b + r - rest;
nu[i] = cif;
}
for(int i = 1 ; i <= n ; i++)
{
cout << 1;
for(int j = 1 ; j <= a[i] - 2 ; j++) cout << 0;
cout << nu[i] << '\n';
}
}
Comentarii