Se citesc numere întregi până când se introduce numărul 0.
1. Să se afișeze toate perechile de numere citite consecutiv cu proprietatea că primul
număr este egal cu suma divizorilor proprii a celui de-al doilea număr.
2. Să se afișeze toate numerele introduse care au cifrele distincte.
3. Să se afișeze suma numerelor introduse care sunt palindrom.
C++ Fara vectori cls a 10-a
Răspunsuri la întrebare
Răspuns:
1. #include <iostream>
using namespace std;
int main()
{
int x, A, sdiv;
do
{
cin >> x;
if (x == 0)
{
return 0;
}
A = x;
cin >> x;
if (x == 0)
{
return 0;
}
sdiv = 0;
for (int i = 2; i <= x / 2; i++)
{
if (x%i == 0)
sdiv = sdiv + i;
}
if (A == sdiv)
cout << A << " " << x << endl;
} while (x != 0);
return 0;
}
2. #include <iostream>
using namespace std;
int main()
{
int x, cx, uc, OK, ccx;
do
{
cout << "x = "; cin >> x;
if (x == 0)
{
return 0;
}
cx = x;
OK = 1;
while (cx != 0 && OK == 1)
{
uc = cx % 10;
ccx = cx / 10;
while (uc != ccx % 10 && ccx != 0)
{
ccx = ccx / 10;
}
if (uc == ccx % 10 && ccx != 0)
{
OK = 0;
}
cx = cx / 10;
}
if (OK == 1)
cout << "DA" << endl;
else cout << "NU" << endl;
} while (x != 0);
return 0;
}
3. #include <iostream>
using namespace std;
int main()
{
int x, rast, S = 0, cx;
cout << "x = "; cin >> x;
while (x != 0)
{
cx = x;
rast = 0;
while (cx != 0)
{
rast = rast * 10 + cx % 10;
cx = cx / 10;
}
if (rast == x)
{
S = S + x;
}
cout << "x = "; cin >> x;
}
cout << S << endl;
return 0;
}