Cod sursa(job #2297217)
Utilizator | Data | 5 decembrie 2018 16:20:52 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 1.41 kb |
#include <bits/stdc++.h>
using namespace std;
int v[1001];
ifstream in ("norocos.in");
ofstream out ("norocos.out");
int main()
{
long long n, k, p, i, a, m=2000000001, M=0, c=0, d;
cin >> p >> n >> k;
if(p==1)
{
for(i=1;i<=n;i++)
{
in >> a;
if(a%2==1)
{
if(a<m)
m=a;
if(a>M)
M=a;
}
else
c++;
}
if(c==n)
out << 0;
else
out << m << " " << M;
}
if(p==2)
{
for(i=1;i<=n;i++)
cin >> v[i];
int nrdiv=0, d;
bool repeat=0;
for(i=1;i<=n;i++)
{
d=2;
nrdiv=0;
while(v[i]>1)
{
p=0;
repeat=0;
while(v[i]%d==0)
{
++p;
n/=d;
if(p>1)
{
repeat=1;
break;
}
}
if(repeat==1)
break;
if(p)
nrdiv++;
++d;
if(v[i]>1 && d*d>v[i])
d=v[i];
}
}
cout << nrdiv;
}
return 0;
}