30 pct Sa se afiseze toate numerele formate din cifre distincte cu proprietatea ca suma cifrelor este S (valoarea variabilei S se citeste de la
tastatura). Solutiile se vor afisa in fisierul “numere.txt” separate prin cate un spatiu.
Exemplu: pentru S=3, se afiseaza solutiile 102, 12, 120, 201, 21, 210, 3, 30.
Am facut deja mare lucru din problema dar cand trebuie sa imi afiseze o solutie care are 0 in coada o ignora si nu stiu ce conditie sa pun. Ajutor!
#include
#include
using namespace std;
ofstream g("numere.txt");
int x[50],s,i,s1,use[50];
void afisare(int k)
{
int i;
for(i=1;i<=k;i++)
g<
g<<'\n';
}
void bkt(int k)
{
int i;
for(i=0;i<=s;i++)
if(!use[i])
{use[i]=1;
x[k]=i;
s1+=x[k];
if(s1<=s)
if(s1==s && x[1]!=0) afisare(k);
else bkt(k+1);
s1-=x[k];
use[i]=0;
}
}
int main()
{
cin>>s;
bkt(1);
return 0;
}