luni, 17 decembrie 2012

Problema 63 (variante teza)

//63. Sa se genereze toate numerele naturale ale caror cifre se gasesc printre cifrele lui x citit si au lungimea cel mult egala cu lungimea lui x. Cifrele se pot repeta

#include<iostream.h>
int v[100],i,j,n,x,k,a[100];
void afisare(int k)
{int i;
for(i=1;i<=k;i++)
cout<<a[v[i]]<<' ';
cout<<endl;}

void back(int k)
{int i;
for(i=1;i<=n;i++)
 {v[k]=i;
afisare(k);
if(k<n)
back(k+1);}}

int main()
{cout<<"x=";
cin>>x;
while(x!=0)
{j++;
a[j]=x%10;
x=x/10;
n++;}
back(1);}

Niciun comentariu:

Trimiteți un comentariu