Buna, am o problema in c++ si as avea nevoie de ajutor.Suna cam asa"Un numar e "special" daca are toate cifrele numere pare.Ai o lista de 15 nr.Afiseazale pe cele "speciale"." Ex de nr:13 777 24 248 46 68 15 17 456 131517 82 881 442 123 19;
Răspunsuri la întrebare
#include <iostream>
#include <vector>
using namespace std;
bool par(int a) {
if (a % 2 != 0) { return false; }
// daca exista macar o cifra in numar care e impara => false
if (a / 10 == 0 && a % 2 == 0) { return true; }
// verific daca PRIMA cifra a numarului este para prin: a/10==0 (ex: (int)9/10 = 0)
//*Daca am ajuns la PRIMA cifra inseamna ca si celelalte sunt pare (altfel nu am fi trecut de primul argument).
if (a / 10 != 0) { //tai numarul de la coada la cap cu cate o cifra
a /= 10;
}
//recursivitate:
if (par(a) == true) { return true; }
else { return false; }
}
int main()
{
vector<int> vec = { 13, 777, 24, 248 ,46 ,68, 15, 17, 456, 131517, 82 ,881, 442 ,123, 19 };
for (int i = 0; i < vec.size(); i++) {
if (par(vec[i]) == true) { cout << vec[i] << endl; }
}
}