Sunteți pe pagina 1din 1

www.webmateinfo.

com
office@ webmateinfo.com

cu noi totul pare mai usor


Se citeste un numar natural n si apoi un sir de numere intregi. Afisati suma pe care o obtineti adunand primul divizor prim din fiecare numar citit. Rezolvare C/C++:
#include<iostream.h> int prim(int x) { int i, ok=1; for(i=2;i<=x/2;i++) { if ( x%i == 0) ok = 0; } return ok; } int divizori(int n) { int s=0; int min=n; cout<<"Divizorii sunt: "; for(int i=n;i>=1;i--) { if(n%i==0) { cout<<i<<" "; if(prim(i) && (i!=1)){ if(min>i){ min=i; } } } } cout<<endl; s=s+min; return s; } int main() { int n,nr,i,suma=0; cout<<"Dati numarul natural n= "<<endl; cin>>n; for(i=1; i<=n; i++) { cout<<"Citim "<<i<<" numar"<<endl; cin>>nr; suma=suma+divizori(nr); } cout<<"Adunand primul divizor prim diferit de 1 din fiecare numar obtinem: "<<suma<<endl; }

S-ar putea să vă placă și