Dându-se un număr natural a, să se verifice dacă a și inversul (oglinditul) lui a sunt ambele numere prime. Date de intrare Se citește de la tastatură numărul natural a.
Date de ieșire Să se afișeze DA dacă numărul a și inversul său sunt ambele prime sau NU, în caz contrar. Restricții și precizări 1 ≤ a < 300000 a nu are ultima cifră 0 Exemplu
Date de intrare & Date de ieșire
5----------------------------- DA
122 --------------------------- NU
17------------------------------- DA
(am invatat doar: if, else, if else, while)
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
#include <iostream>
using namespace std;
int oglindit(int x)
{
int og = 0;
while (x)
{
og = og * 10 + x % 10;
x /= 10;
}
return og;
}
bool prim(int x)
{
if ((x < 2) || (x % 2 == 0 && x > 2))
{
return false;
}
else
{
for (int i = 2; i * i <= x; i++)
{
if (x % i == 0)
{
return false;
}
}
}
return true;
}
int main()
{
int a;
cin >> a;
if (prim(a) && prim(oglindit(a)))
{
cout << "DA";
}
else
{
cout << "NU";
}
}
Explicație: Faci o functie ca sa determini oglinditul, faci inca o functie ca sa verifici daca este numarul prim si dupa le aplici intr-o conditie de tip If.
vghduv377:
mersi mult, te iubesc :)
Alte întrebări interesante
Religie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă