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
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
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Evaluare Națională: Lb. Română ,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Chimie,
9 ani în urmă