Professional Documents
Culture Documents
sa Se Insereze Dupa Fiecare e Lement Neprim Divizorii Sai Primi
sa Se Insereze Dupa Fiecare e Lement Neprim Divizorii Sai Primi
h>
#include<malloc.h>
#include <stdlib.h>
//sa se insereze dupa fiecare e;lement neprim divizorii sai primi
int prim(int x)
{
if (x <= 1 || x % 2 == 0 && x > 2)
return 0;
for (int d = 3; d*d <= x; d += 2)
if (x%d == 0)
return 0;
return 1;
}
int Divizorprimi(int x)
{
for (int i = 2; i <= x / 2; i++)
{
if (x % i == 0 && prim(i))
//printf_s("%d", i);
return i;
}
}
int nrdivprimi(int x)
{
int nr = 0;
if (x % 2 == 0)
nr++;
if (prim(x / 2))
nr++;
for (int d = 3; d*d <= x; d=d+2)
{
if (prim(d) == 1)
nr++;
if (prim(x / d) == 1)
nr++;
}
return nr;
}