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
.
#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'; } }