Sa se genereze toate palindroamele de lungime n.
#include<iostream>
using namespace std;
int x[11],n,nr=0;
void afisare()
{int i;nr++;
for(i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<endl;
}
int verif(int i)
{if(i==1 && x[i]==0)
return 0;
if(n%2==1)
if(i>n/2)
if(x[i]!=x[n-i+1])
return 0;
if(n%2==0)
if(i>n/2)
if(x[i]!=x[n-i+1])
return 0;
return 1;
}
void back(int i)
{int j;
for(j=0;j<10;j++)
{x[i]=j;
if(verif(i))
if(i==n)
afisare();
else back(i+1);}
}
int main()
{
cin>>n;
back(1);
cout<<endl<<nr<<" solutii";
}
Niciun comentariu:
Trimiteți un comentariu