|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2001
Messaggi: 26
|
C++ e palindromi...
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!!
__________________
Omnis homines qui sese student praestare ceteris animalibus decet summa ope niti ne vitam silentio transeant, veluti pecora quae natura finxit prona atque ventri oboedientia. |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Una possibile soluzione (molto semplice ma comunque comprensibile ) puo' essere la seguente:
Codice:
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;
}
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
|
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.
__________________
---> Lombardp CSS Certified Expert (Master Level) at Experts-Exchange Proud user of LITHIUM forum : CPU technology Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Mar 2001
Messaggi: 26
|
Grazie mille!
__________________
Omnis homines qui sese student praestare ceteris animalibus decet summa ope niti ne vitam silentio transeant, veluti pecora quae natura finxit prona atque ventri oboedientia. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:16.



















