Programare în C++: Toate numerele palindrome de 8 cifre

Problema sună cam aşa: Să se scrie un algoritm în C++ care să afişeze în ordine crescătoare toate numerele palindrome de 8 cifre.

Rezolvarea este destul de simplă. Vom lucra cu o singură variabilă de tip long sau double, ca să putem include toate numerele de 8 cifre. Vom avea o structură “pentru” în care vom  incrementa un contor “i” de la 10000000 la 99999999. De fiecare dată când programul va întâlni un număr în care cifra 1=cifra 8, cifra 2=cifra 7, cifra 3=cifra 6  şi cifra 4= cifra 5 înseamnă că acela este un număr palindrom (numărul este egal cu oglinditul său) şi îl va afişa. Apoi va face incrementare şi tot aşa până la final.

Algoritmul:

#include <iostream.h>
double i; //sau long
void main()
{
for (i=10000000;i<=99999999;i++)
if (i/10000000==i%10&&i/1000000%10==i/10%10&&i/100000%10==i/100%10&&i/10000%10==i/1000%10)
cout<<i<<endl;
}

4 comentarii

  1. @motolady, @Cristi – sunt algoritmi care se caută. Nu are legătură neapărat cu aranjarea numerelor cât cu afişarea şi condiţia de verificare dacă, într-adevăr, acele numere sunt palindrome.

  2. Am vazut zeci de rezolvari si vad ca va complicati inutil…
    Atata timp cat nu ti se cere sa lucrezi cu numarul respectiv faci:

    for(i=1;i<=9;i++)
    for(j=0;j<=9;j++)
    cout<<iijjjjii<<endl

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.