👤

Folosind tehnica de programare backtracking, scrieţi programul C++ ce rezolvă următoarea

problemă:

Scrieti un program care citeste de la tastatura un numar natural nenul n (n<=20) si

construieste toate numerele formate din n cifre impare cu proprietatea ca oricare

doua cifre alaturare dintr-un numar generat sunt consecutive în multimea cifrelor

impare.

Exemplu: Pentru n=4 se obtin numere de forma: 1313, 1353, 1357, .... 7979...
va rog e urgent!!!!!


Răspuns :

#include <iostream.h>
#include <string.h>
int main()
{
int  n;long int i,f;
cout<<"Dati numarul:="<< endl;
cin >>n;

cout<<"Pentru "<<n<<" se obtin numere de forma:";
if (n==2);
{
i=10;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<99);
}

if (n==3);
{
i=100;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<999);
}


if (n==4);
{
i=1000;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<9999);
}

if (n==5);
{
i=10000;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<99999);
}


if (n==6);
{
i=100000;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<999999);
}

if (n==7);
{
i=1000000;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<9999999);
}


if (n==8);
{
i=10000000;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}
}while(i<99999999);
}


if (n==9);
{
i=100000000;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<999999999);
}

if (n==10);
{
i=1000000000;
do{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}

}while(i<9999999999);
}

system("pause");
return 0;
}