Sunteți pe pagina 1din 3

Problema 4a v3

#include <iostream>

using namespace std;

int cif(int a, int b) {


int numar_aparitii = 0;
while (a > 0) {
int ultima_cifra = a % 10;
if (ultima_cifra == b) {
numar_aparitii++;
}
a /= 10;
}
return numar_aparitii;
}

int main() {
int a, b;
cin >> a>> b;

if (a < 0) {
cout << "Numărul introdus nu este natural." << endl;
return 1;
}

int rezultat = cif(a, b);

cout << "Cifra " << b << " apare de " << rezultat << " ori.";

return 0;
}

-----------------------------------------------------------------------------------
--------
v5 a

#include <iostream>

using namespace std;

int f(int a) {
if (a <= 1) {
return 0; // Nu există divizori primi pentru a <= 1
}

for (int divizor = 2; divizor * divizor <= a; divizor++) {


if (a % divizor == 0) {
// Verificăm dacă divizorul este prim
bool este_prim = true;
for (int i = 2; i * i <= divizor; i++) {
if (divizor % i == 0) {
este_prim = false;
break;
}
}
if (este_prim) {
return divizor; // Am găsit cel mai mic divizor prim
}
}
}

return a; // Dacă nu am găsit niciun divizor prim, a este prim


}

int main() {
int a;
cout << "Introduceți un număr natural cu cel mult 8 cifre (a > 1): ";
cin >> a;

if (a <= 1) {
cout << "Numărul introdus nu este valid." << endl;
return 1;
}

int rezultat = f(a);

if (rezultat == 0) {
cout << "Nu există divizori primi pentru " << a << endl;
} else {
cout << "Cel mai mic divizor prim al lui " << a << " este " << rezultat <<
endl;
}

return 0;
}

-----------------------------------------------------------------------------------
--------
v5 b

#include <iostream>

using namespace std;

bool este_prim(int num) {


if (num <= 1) {
return false;
}
if (num <= 3) {
return true;
}
if (num % 2 == 0 || num % 3 == 0) {
return false;
}
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cout << "Introduceți un număr natural nenul n (n ≤ 100): ";
cin >> n;

if (n <= 0 || n > 100) {


cout << "Numărul introdus nu este valid." << endl;
return 1;
}

bool exista_prime = false;

cout << "Introduceți " << n << " numere naturale strict mai mari decât 1: ";
for (int i = 0; i < n; i++) {
int num;
cin >> num;
if (este_prim(num)) {
if (exista_prime) {
cout << " ";
}
cout << num;
exista_prime = true;
}
}

if (exista_prime) {
cout << endl;
} else {
cout << "NU EXISTA" << endl;
}

return 0;
}

S-ar putea să vă placă și