Introduzione a Palindrome in C ++

Un palindromo è un numero, una sequenza o una parola che legge lo stesso indietro come in avanti. Signora In Eden, sono Adam, uno dei migliori esempi di parole palindromo che suona lo stesso dopo l'inversione. È qui che il palindromo rende le cose interessanti che agiscono come specchi. Il nome "palindromo" significa in realtà tornare di nuovo secondo l'etimologia greca. In C ++ il numero palindromo è un numero che rimane lo stesso dopo il contrario. Ma come è possibile? Come verificheremo se un numero è troppo grande e complesso? Tieni sempre presente questo piccolo algoritmo per verificare se un numero è un palindromo o meno.

  1. Ottieni il numero di input dall'utente.
  2. Tienilo in una variabile temporanea.
  3. Invertire il numero.
  4. Dopo l'inversione confrontalo con una variabile temporanea.
  5. Se uguale, il numero è un palindromo.

Non ti preoccupare qui è un esempio supponiamo che dobbiamo stampare palindromi tra l'intervallo di numeri indicato. Ad esempio, l'intervallo è (10.122), quindi l'output dovrebbe essere (11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121)

Programma C ++ per implementare Palindrome

#include
using namespace std;
// Function to check if a number is a palindrome or not.
int Palindrome(int n)
(
// Find reverse of n
int reverse = 0;
for (int i = n; i > 0; i /= 10)
reverse = reverse*10 + i%10;
// To check if they are same
return (n==reverse);
)
//function to prints palindrome between a minimum and maximum number
void countPalindrome(int minimum, int maximum)
(
for (int i = minimum ; i <= maximum; i++)
if (Palindrome(i))
cout << i << " ";
)
// program to test above functionality
int main()
(
countPalindrome(100, 2000);
return 0;
)

Produzione:

Facciamo un altro esempio in particolare usando un ciclo while che spiegherà anche l'algoritmo di cui abbiamo discusso nell'introduzione. Prenderemo un numero come input dall'utente e controlleremo se si tratta di un palindromo o meno.

Programma C ++ per verificare se un numero è un palindromo o no

#include
using namespace std;
int main()
(
int n, sum=0, temp, reverse;
cout<<"Please enter the Number=";
cin>>n;
temp=n;
while(n>0)
(
reverse=n%10;
sum=(sum*10)+reverse;
n=n/10;
)
if(temp==sum)
cout<<"The number is Palindrome.";
else
cout<<"The number is not Palindrome.";
return 0;
)

Produzione:

Il codice sopra prenderà un numero come input dall'utente e lo inserirà in una variabile temporanea poiché puoi vedere che la somma è già 0 utilizzerà un ciclo while fino a quando il numero diventa 0 e mentre il codice viene scritto eseguirà il operazione come scritto dopo il ciclo while. Se il numero diventa 0, controllerà se la variabile temporanea è uguale alla somma o meno. Se la condizione soddisfa, verrà stampato che il numero è palindromo, altrimenti se la condizione fallisce andrà nella parte opposta e stamperà che il numero non è un palindromo.

Un altro esempio che utilizza un ciclo do-while che spiegherà anche l'algoritmo di cui abbiamo discusso nell'introduzione. Prenderemo un numero come input dall'utente e controlleremo se si tratta di un palindromo o meno.

Programma C ++ per verificare se un numero è un palindromo o no

#include
using namespace std;
int main()
(
int x, number, reverse = 0, temp ;
cout << "Please enter a number here: ";
cin >> number;
x = number;
do
(
temp = number % 10;
reverse = (reverse * 10) + temp;
number = number / 10;
) while (number != 0);
cout << " The reverse of the number is: " << reverse << endl;
if (x == reverse)
cout << " Entered number is a Palindrome.";
else
cout << " Entered number is not a Palindrome.";
return 0;
)

Produzione:

vantaggi

  • Supponiamo che nel tuo progetto desideri abbinare la prima stringa / elemento con l'ultimo, quindi il secondo elemento / stringa al secondo ultimo e così via e la stringa sarà palindromo se raggiungi il centro. Utilizzando semplicemente for loop è possibile eseguire tutte le operazioni e si risparmia una grande quantità di tempo e spazio quando si tratta di programmazione perché in questo caso non è necessario modificare la stringa esistente né scrivere un'altra variabile in memoria. Inoltre, le corrispondenze richieste sono completamente uguali alla metà della lunghezza della stringa.
  • Se stai lavorando su un linguaggio di programmazione in cui l'inversione di stringa è semplice ma richiederà una quantità aggiuntiva di spazio per memorizzare quella stringa di inversione in un altro modo come la ricorsione richiede più frame di stack. C'è un altro modo piuttosto che la ricorsione e che sta scrivendo un ciclo nel mezzo della stringa per verificare se la lettera corrispondente a ciascuna estremità è uguale o meno. Se disuguale, allora spezza la coppia in anticipo e dichiara la stringa come non un palindromo.
  • L'approccio sopra ha il vantaggio di non sprecare alcuna risorsa computazionale come la ricorsione, senza la necessità di ulteriori frame di stack, ma non è anche semplice come invertire la stringa e controllare l'uguaglianza tra di loro. Ci vuole sforzo, ma sarà sempre meno di altri algoritmi perché è il modo più semplice per trovare un palindromo.
  • Ogni tecnica ha i suoi vantaggi nella programmazione e ci sono migliaia di altri modi di fare lo stesso compito ma in modo efficiente. Dipende completamente dal tuo attuale progetto a cui stai lavorando. Devi solo decidere in base alla tua situazione quale tecnica ti aiuterà a dare i migliori benefici indipendentemente dagli svantaggi.
  • In un progetto reale, è necessario eseguire n numeri di controlli palindromi su base frequente in un breve lasso di tempo, quindi è necessario implementare l'algoritmo sopra in primo luogo fino a quando e a meno che non si richieda una soluzione più ottimistica per gli attuali vincoli tecnici.

Conclusione

Usando un algoritmo palindromo puoi rendere la tua ricerca più efficiente e veloce nella ricerca di palindromi indipendentemente da tipi di dati come il carattere stringa o intero. Per i progetti con più dati nei diversi sistemi, questi algoritmi possono essere utilizzati per rendere le prestazioni complessive molto più veloci.

Articoli consigliati

Questa è una guida a Palindrome in C ++. Qui discutiamo del programma C ++ per verificare e implementare il Palindrome con i vantaggi. Puoi anche leggere il seguente articolo per saperne di più -

  1. Programma Palindrome in C ++
  2. Miglior compilatore C ++
  3. Serie Fibonacci in C ++
  4. Sovraccarico in C ++
  5. Sovraccarico in Java
  6. Tipi di dati C ++
  7. Sovraccarico di Python
  8. Principali 11 caratteristiche e vantaggi di C ++
  9. Serie Fibonacci in JavaScript con esempi

Categoria: