Se citeşte un număr natural n. Să se afişeze toate numerele mai mici decât n care sunt egale cu suma pătratelor cifrelor lor. 16
#include <iostream>
using namespace std;
int main()
{
int n;
cout << „Introduceti numarul n: „;
cin >> n;
for (int i = 1; i < n; i++)
{
int suma_patrate_cifre = 0;
int auxiliar = i;
while (auxiliar != 0)
{
int cifra = auxiliar % 10;
suma_patrate_cifre += cifra * cifra;
auxiliar /= 10;
}
if (i == suma_patrate_cifre)
{
cout << i << endl;
}
}
return 0;
}
Programul incepe prin citirea numarului n
. Apoi, cu ajutorul unui for
, se parcurg toate numerele de la 1 la n-1
.
Pentru fiecare numar, se calculeaza suma patratelor cifrelor cu ajutorul unui while
. Pentru a calcula suma patratelor cifrelor, se initializeaza variabila suma_patrate_cifre
cu 0, iar apoi se parcurg cifrele numarului curent de la dreapta la stanga. Cu fiecare iteratie, cifra curenta este ridicata la patrat si adaugata la suma_patrate_cifre
.
Dupa ce s-a calculat suma patratelor cifrelor, se verifica daca numarul este egal cu aceasta suma. Daca da, atunci numarul este afisat cu ajutorul functiei cout
.