348
Cerința
Scrieți un program care citeşte o valoare naturală nenulă impară pentru n şi apoi generează şi afişează în ordine crescătoare lexicografic toate combinaţiile formate din n cifre care îndeplinesc următoarele proprietăţi:
– încep şi se termină cu 0;
Exemplu
Intrare
5
Ieșire
01010 01210
#include <bits/stdc++.h>
using namespace std;
int n , x[25];
void afisare()
{
for(int i = 1 ; i <= n ; i++)
cout << x[i];
cout << '\n';
}
void back(int k)
{
for(int i = x[k - 1] - 1; i <= x[k - 1] + 1; i += 2)
if(i >= 0 && i <= n / 2)
{
x[k] = i;
if(k == n)
{
if(x[k] == 0) afisare();
}
else back(k + 1);
}
}
int main()
{
cin >> n;
x[1] = 0;
back(2);
}
Comentarii