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ă.
intr un c++ de clasa a 9 a+ fara vectori daca se poate
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <bits/stdc++.h>
using namespace std;
int prim(long long n)
{
long long d=2;
long long p;
while (n>1)
{
p=0;
while(n%d==0) {p++;n/=d;}
if(p>0) return d;
d++;
if(d*d>n) d=n;
}
}
int main()
{
long long n,x,s=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
s=s+prim(x);
}
cout<<s;
return 0;
}
Explicație:
connorishumanig:
multumesc frumos dar stii cumva cum as putea sa o scriu mai simplu? ca de clasa a 9 a
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă