online: 4; azi: 1040; total: 53046 Manual clasa a ix a - Algoritmi - Algoritmi pentru prelucrarea cifrelor

Manual clasa a IX a

Algoritmi

Algoritmi pentru prelucrarea cifrelor

Se citesc de la tastatură un număr ke [0, 9] şi un şir de numere naturale , până la citirea numărului 0. Să se afişeze toate perechile de numere introduse consecutive care au proprietatea că au acelaşi număr de apariții ale cifrei k în pătratul lor .
# include < iostream >
using namespace std ;
int main ()
{
int ke ;
int numar_ant = -1 ;
int numar_crt ;
cout << " Introduceti numarul ke : " ;
cin >> ke ;
cout << " Introduceti sirul de numere (se opreste la intalnirea cifrei 0):" << endl ;
cin >> numar_crt ;
while ( numar_crt != 0 )
{
if ( numar_ant != -1 )
{
int numar_aparitii_ant = 0 ;
int numar_aparitii_crt = 0 ;
int patrat_ant = numar_ant * numar_ant ;
int patrat_crt = numar_crt * numar_crt ;
while ( patrat_ant != 0 )
{
if ( patrat_ant % 10 == ke )
{
numar_aparitii_ant ++;
}
patrat_ant /= 10 ;
}
while ( patrat_crt != 0 )
{
if ( patrat_crt % 10 == ke )
{
numar_aparitii_crt ++;
}
patrat_crt /= 10 ;
}
if ( numar_aparitii_ant == numar_aparitii_crt )
{
cout << numar_ant << " " << numar_crt << endl ;
}
}
numar_ant = numar_crt ;
cin >> numar_crt ;
}
return 0 ;
}

Programul citeste de la tastatura numarul ke si apoi citeste sirul de numere pana la intalnirea cifrei 0 . Pentru fiecare numar , se calculeaza patratul sau si numarul de aparitii ale cifrei ke in patratul sau. Acest lucru se face prin parcurgerea cifrelor patratului cu ajutorul unui while si verificarea daca cifra curenta este egala cu ke . Numarul de aparitii se incrementeaza daca cifra curenta este egala cu ke .
Dupa ce s-a calculat numarul de aparitii ale cifrei ke pentru cele doua numere consecutive, se verifica daca acesta este acelasi . Daca da, atunci perechea de numere este afisata cu ajutorul functiei cout .