258
Cerința
Se dau două numere n m
. Să se genereze toate numerele cu exact n
cifre mai mici decât m
cu proprietatea că prima și ultima cifră sunt egale.
Date de intrare
Programul citește de la tastatură numerele n m
.
Date de ieșire
Programul va afișa pe ecran numerele generate, câte unul pe linie, în ordine crescătoare.
Restricții și precizări
1 ≤ n ≤ 7
0 < m < 6
Exemplu
Intrare
3 3
Ieșire
101 111 121 202 212 222
#include <bits/stdc++.h> using namespace std; int n , m , x[10] , a[10] , rez; int valid(int k) { if(k == 1 && x[k] == 0) return 0; else if(k == n && x[k] != x[1]) return 0; return 1; } void afisare() { for(int i = 1 ; i <= n ; ++i) cout << x[i]; cout << '\n'; } void back(int k) { for(int i = 0 ; i < m ; ++i) { x[k] = i; if(valid(k)) { if(k == n)afisare(); else back(k + 1); } } } int main() { cin >> n >> m; back(1); return 0; }
Comentarii