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ăspunsuri la întrebare
Răspuns de
1
#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;
}
#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;
}
Utilizator anonim:
Am mai prescutato:
#include <string.h>
#include <math.h>
int main()
{
int n;
long int i,f,x;
cout<<"Dati numarul:="<< endl;
cin >>n;
f=pow(10,n);
x=pow(10,(n-1));
cout<<f<<"Pentru "<<x<<" se obtin numere de forma:";
i=x;
do
{
i=i+1;
if (i % 2!=0)
{
cout<<i<<",";
}
}while(i<f);
system("pause");
return 0;
}
Alte întrebări interesante
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Geografie,
8 ani în urmă
Limba română,
9 ani în urmă
Geografie,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă