Se citeste n de la tastatura. Daca n este polindrom ( n=inversul sau ), sa se afiseze prima cifra a lui, iar in caz contrar, sa se afiseze cifra maxima. ( Algoritm in C++)
Am facut algoritmul, dar nu imi afiseaza nimic, nici nu imi afiseaza durata de executie si ce imi mai afisa pana acum
ModernMind:
Vrei sa iti corectam algoritmul facut de tine sau sa iti facem altul de la 0?
using namespace std;
int main()
{
int n, c, inv, d;
cin >> n;
while ( n )
{
d=n;
c= d%10;
inv= inv*10+c;
d=d/10;
}
if ( n==inv )
cout << n%10;
else
{
int max=0;
while ( n )
{
c=n%10;
if ( c>=max )
max=c;
n= n/10;
}
cout << max;
}
return 0;
}
{
d=n;
c= d%10;
inv= inv*10+c;
d=d/10;
}
acest ciclu nu e infinit ??? lucreaza pana la infinit.... valoarea lui n se schimba ?
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
using namespace std;
int maxim;
bool numarPalindrom(int nr) {
int nri,nrf=0;
nri=nr;
while(nr) {
int c=nr%10;
nrf=nrf*10+c;
nr=nr/10;
if(c>maxim) maxim=c;
}
if(nri==nrf)
return true;
return false;
}
int main()
{
int n;
cin>>n;
if(numarPalindrom(n)) cout<<(n%10);
else cout<<maxim;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă