Informatică, întrebare adresată de 1DianaMaria3, 8 ani în urmă

Se dau n numere întregi.Sa se scrie în fișierul date.out

pe prima linie numerele care au 4 divizori și pe a doua linie suma numerelor prime

in C++​

Răspunsuri la întrebare

Răspuns de serban1337
1

Răspuns:

Raspuns

Explicație:

#include <iostream>

#include <fstream>

using namespace std;

ofstream fout("date.out");

int prim(int n)

{

   if(n<2)

       return 0;

   if(n==2)

       return 1;

   if(n%2==0)

       return 0;

   int d;

   for(d=3;d*d<=n;d++)

       if(n%d==0)

           return 0;

   return 1;

}

int div(int n)

{

   int div,cnt=0;

   div=2;

   while(div<=n/2)

   {

       if(n%div==0)

           cnt++;

       div++;

   }

   if(cnt+2==4)

       return 1;

   return 0;

}

int main()

{

   int v[100];

   int n,i,s=0;

   cin>>n;

   for(i=1;i<=n;i++)

       cin>>v[i];

   for(i=1;i<=n;i++)

   {

       if(div(v[i])==1)

           fout<<v[i]<<' ';

       if(prim(v[i])==1)

           s+=v[i];

   }

   fout<<"\n"<<s;

}


1DianaMaria3: Mulțumesc foarte mult!!
Alte întrebări interesante