Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă

Buna ziua! As avea o nelămurire in legătura cu codul meu la o problema de pe pbinfo. Primesc scor 80 pct deoarece depășesc limita de timp la ultimul test. Cum as putea sa optimizez programul?
Problema este #163(stergere). Mulțumesc anticipat.

Anexe:

Răspunsuri la întrebare

Răspuns de pmarian98
2

#include <iostream>

using namespace std;

int a[1001];

bool Prime(int x)

{

if ( x == 0 || x == 1)

  return false;

   if (x==2)

       return true;

if (x%2==0)

 return false;

   for ( int d=3;d*d<=x;d+=2)

       if (x%d==0)

           return false;

 return true;}

int main()

{

  int n;

  cin>>n;

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

       cin>>a[i];

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

{

     while(Prime(a[i]) && i<=n)//cat timp este prim functia este dif de 0 adica prim  

   {

       for(int j=i;j<n;++j)//elimin pozitia i pe care se afla valoarea prima

           a[j]=a[j+1];

           n--;

   }

}

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

     cout<<a[i]<<" ";

return 0;

}


Utilizator anonim: Mulțumesc mult!
Alte întrebări interesante