se citesc N numere întregi Câte numere dintre cele citite sunt prime și în același timp divizibile cu o cifră k citită de la tastatură
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
bool prim(int x)
{
if (x < 2)
return 0;
if (x % 2 == 0 && x != 2)
return 0;
for (int d = 3; d <= x; d += 2)
if (x % d == 0)
return 0;
return 1;
}
int main()
{
int n, k,x, nr = 0;
cin >> n >> k;
for (int i = 1; i <= n; i++)
{
cin >> x;
if (prim(x) && x % k == 0)
nr++;
}
cout << nr;
return 0;
}
Explicație:
citim n numere dupa care verificam daca x este prim si se imparte la k, in caz de e adevarat numaram si afisam nr, celalalt este algoritmul pentru numere prime, in caz de il doresti si optim poate fi scris asa
bool prim(int x)
{
if (x < 2)
return 0;
if (x % 2 == 0 && x != 2)
return 0;
for (int d = 3; d*d <= x; d += 2)
if (x % d == 0)
return 0;
return 1;
}