Răspuns :
Observatie:
Exemplul e gresit. La intrare sunt 10 numere. Cu acele numere raspunsul corect ar fi 3 + 7 + 5 + 2 + 17 + 5 + 3 + 3 + 13 = 65. Aparent primul 9 a fost adaugat din greseala. Acea iesire este valabila doar daca numerele de intrare sunt 7 30 2 17 14 10 9 3 13.
Aici ai programul:
#include <iostream>
using namespace std;
int main()
{
int n,i,j,maxim,S=0,x,k;
cout<<"n=";
cin>>n;
int a[n];
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
{
maxim=0;
for(j=2;j<=a[i];j++)
{
x=0;
if(a[i]%j==0)
{
for(k=1;k<=j;k++)
if(j%k==0)
x++;
if(x==2)
maxim=j;
}
}
S+=maxim;
}
cout<<S;
return 0;
}
Exemplul e gresit. La intrare sunt 10 numere. Cu acele numere raspunsul corect ar fi 3 + 7 + 5 + 2 + 17 + 5 + 3 + 3 + 13 = 65. Aparent primul 9 a fost adaugat din greseala. Acea iesire este valabila doar daca numerele de intrare sunt 7 30 2 17 14 10 9 3 13.
Aici ai programul:
#include <iostream>
using namespace std;
int main()
{
int n,i,j,maxim,S=0,x,k;
cout<<"n=";
cin>>n;
int a[n];
for(i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
{
maxim=0;
for(j=2;j<=a[i];j++)
{
x=0;
if(a[i]%j==0)
{
for(k=1;k<=j;k++)
if(j%k==0)
x++;
if(x==2)
maxim=j;
}
}
S+=maxim;
}
cout<<S;
return 0;
}