Informatică, întrebare adresată de connorishumanig, 8 ani în urmă

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 Andialex
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