Pagini recente » Cod sursa (job #1945657) | Cod sursa (job #295415) | Cod sursa (job #1107288) | Cod sursa (job #609696) | Cod sursa (job #2112457)
#include <iostream>
using namespace std;
int v[501],y[1001],c[1001],nrp;
char ciur[1001];
void citire(int n)
{
for(int i=1; i<=n; i++)
cin>>v[i];
}
void prime()
{
for(int i=2; i*i<=1000; i++)
if(ciur[i]==0)
for(int j=i*i; j<=1000; j+=i)
ciur[j]=1;
for(int j=2; j<=1000; j++)
if(!ciur[j])
c[++nrp]=j;
}
void verif(int n)
{
int e,div;
for(int i=1; i<=n; i++)
{
div=1;
while(c[div]*c[div]<=v[i])
{
e=0;
while(!(v[i]%c[div]))
e++,v[i]/=c[div];
if(e==1)
y[c[div]]++;
div++;
}
if(v[i]-1)
y[v[i]]=1;
}
}
void scriere(int n)
{
for(int i=1; i<=1000; i++)
if(y[i]!=0)
cout<<i<<" ";
}
int main()
{
int n;
cin>>n;
citire(n);
prime();
verif(n);
scriere(n);
return 0;
}