Răspuns :
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int n,sol[100],p;
char v[100];
void afisare()
{
for(int i=1;i<=p;i++)
cout<<sol[i]<<' ';
cout<<endl;
}
void init(int k)
{
sol[k]=0;
}
int succesor(int k)
{
if(sol[k]<n)
{
sol[k]++;
return 1;
}
return 0;
}
int valid(int k)
{
for(int i=1;i<k;i++)
if(sol[k]==sol[i])
return 0;
if(k>1)
if(sol[k]<sol[k-1])
return 0;
return 1;
}
void bkt(int k)
{
if(k==p+1)
afisare();
else
{
init(k);
while(succesor(k))
if(valid(k))
bkt(k+1);
}
}
int main()
{
cin>>n>>p;
bkt(1);
return 0;
}
Pentru combinări de 9 luate câte 3 foloseşti: n=9 şi p=3
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.