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

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ăspunsuri la întrebare

Răspuns de pmarian98
0

#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;

}


Dilau420: #include
using namespace std;

int main()
{
int n , x, cnt = 0, max , min, gasit = 0;
cin >> n;
for(int i = 1; i <= n ; i ++)
{
cin >> x;
bool prim = true;
if(x < 2)
prim = false;
if(x % 2 == 0 && x > 2)
prim = false;
for(int d = 3; d * d <= x ; d += 2)
if(x % d == 0)
prim = false;
if(prim)
{
cnt ++;
if(gasit == 0)
max = min = x, gasit = 1;
else
{
if(x > max)
max = x;
if(x < min)
min = x;
}
}
}
cout << cnt << " " << min << " " << max << endl;
return 0;
}
Alte întrebări interesante