PDA

View Full Version : C++ e palindromi...


Sallustius
01-12-2002, 19:46
Salve a tutti!
Poco fa leggevo le tracce di alcuni esercizi di programmazione, ed una mi ha lasciato perplesso: come si fa, utilizzando semplicemente gli operatori modulo e divisione (senza array, pointers ed altro), a creare un programma che indichi se il numero immesso č un palindromo?
Solo una curiositą.

Grazie mille!! ;)

/\/\@®¢Ų
01-12-2002, 23:38
Una possibile soluzione (molto semplice ma comunque comprensibile ) puo' essere la seguente:


int reverse( int n )
{
int result = 0;
while ( n > 0 )
{
int last = n % 10;
result = result*10 + last;
n /= 10;
}
return result;
}


bool palindromo( int n )
{
if ( n == reverse(n) )
return true;
return false;
}

lombardp
02-12-2002, 11:40
Secondo me si basa tutto sul fatto che, la cifra i-esima CIFRA[i] del numero NUMERO la puoi estrarre con la seguente formula:

CIFRA[i] = (NUMERO modulo (10^i)) diviso (10^(i-1))

NB: divisione intera senza resto o cifre decimali

Fissato questo l'algoritmo coincide con quello che usa gli array.

Sallustius
02-12-2002, 17:57
Grazie mille! :)