👤
Mierlaaurie
a fost răspuns

Stie cineva de ce imi da limita depasita la problema 1408 de pe pbinfo?


#include
#include
using namespace std;
int main()
{ int n,i,d,k,maxi,mini,nr,x;
cin>>n;
maxi=0;
k=0;
mini=1000000000;
for(i=1;i<=n;i++)
{
cin>>x;
nr=2;
for(d=2;d<=(sqrt(x));d++)
if(x%d==0)
nr=nr+2;
if(sqrt(x)==(int)(sqrt(x)))
nr=nr-1;
if(nr==2)
{
k=k+1;
if(x>maxi)
maxi=x;
if(x mini=x;
}
}
cout< return 0;
}


Răspuns :

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

   int n, x, i, prim, d, maxi = -10000, mini = 1000000000, k = 0;

   cin>>n;

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

   {

       cin>>x;

       prim = 1;

       if(x == 2 || x % 2 != 0 && x > 2)

           {

               for(d = 3; d <= sqrt(x) && prim == 1; d += 2)

                   if(x % d == 0)

                       prim = 0;

               if(prim)

               {

                   k++;

                   if(x < mini) mini = x;

                   if(x > maxi) maxi = x;

               }

           }

   }

   cout<<k<<" "<<mini<<" "<<maxi;

   return 0;

}