Cerinţa
Se dau n numere naturale. Calculaţi suma obținută prin adunarea primului divizor prim al fiecărui număr citit.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.
Date de ieşire
Programul afișează pe ecran numărul S, reprezentând suma cerută.
Restricţii şi precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mari decât 1 și mai mici decât 1.000.000.000
Exemplu
Intrare
5
15 13 39 49 25
Ieșire
31
Răspunsuri la întrebare
Răspuns de
7
#include <iostream>
using namespace std;
int prim(int n)
{
int i,k=0;
for(i=1;i<=n;i++)
if(n%i==0)
k++;
if(k==2)
return 1;
else
return 0;
}
int main()
{
int n, pp, x,i,j,S=0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>x;
for(j=2;j<=x;j++)
{
if(x%j==0 && prim(j))
{
S+=j;
break;
}
}
}
cout<<S;
}
using namespace std;
int prim(int n)
{
int i,k=0;
for(i=1;i<=n;i++)
if(n%i==0)
k++;
if(k==2)
return 1;
else
return 0;
}
int main()
{
int n, pp, x,i,j,S=0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>x;
for(j=2;j<=x;j++)
{
if(x%j==0 && prim(j))
{
S+=j;
break;
}
}
}
cout<<S;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă