Przy sprawdzeniu wyskakuje "przekroczono limit czasu" Nie jest to może najlepszy kod ale działa tak do n==100000 przy 1 000 000 nic się nie dzieje. Opiera się na sekwencji liczb 2 0 3 1.
include
include
using namespace std;
int n;
int *sekwencja;
int *bufory;
int main()
{
cin>>n;
sekwencja=new int [n+1];
bufory=new int [n+1];
if (n==0) cout<<0;
else if (n<3) cout<<"NIE";
else
{
sekwencja[0]=2;
sekwencja[1]=0;
sekwencja[2]=3;
sekwencja[3]=1;
for(int i=4;i<=n;i++)
{
if(i%2==0)
{
sekwencja[i]=i;
}
else if (i%2!=0)
{
for(int j=0;j<=n;j++)
{
bufory[j]=sekwencja[j];
}
sekwencja[0]=i;
for(int j=1;j<=n;j++)
{
sekwencja[j]=bufory[j-1];
}
}
}
for(int i=0;i<n;i++)
{
cout<<sekwencja[i]<<" ";
}
cout<<sekwencja[n];
}
return 0;
}
created
last reply
- 1
reply
- 404
views
- 2
users