Generare de sir, in ordine inversa.
Problema data anul acesta la bac, in sesiunea speciala din mai.
Ideea este sa faci programul cat mai eficient. Ceea ce inseamna ca se lucreaza fara vector.
Am atasat cerinta si o posibila rezolvare. Dar nu imi dau seama pe moment cum sa generez de la coada spre cap, iar complexitatea sa fie O(n).
Anexe:
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int n,i;
cin>>n;
int v[n+1];
for(i=1;i<=n;i++)
{
if(i==1)
v[i]=1;
else if(i==2)
v[i]=-1;
else
v[i]=1-2*v[i-1]-v[i-2];
}
ofstream fisier;
fisier.open("bac.out.txt");
fisier<<"test";
for(i=n;i>0;i--)
fisier<<v[i]<<" ";
fisier.close();
return 0;
}
#include <fstream>
using namespace std;
int main()
{
int n,i;
cin>>n;
int v[n+1];
for(i=1;i<=n;i++)
{
if(i==1)
v[i]=1;
else if(i==2)
v[i]=-1;
else
v[i]=1-2*v[i-1]-v[i-2];
}
ofstream fisier;
fisier.open("bac.out.txt");
fisier<<"test";
for(i=n;i>0;i--)
fisier<<v[i]<<" ";
fisier.close();
return 0;
}
passbrain123:
E o solutie, dar nu se primeste punctaj maxim pentru ea. n trebuie sa fie din intervalul 10^9, ceea ce nu e ok cu vector. Am spus si in cerinta.
#include <fstream>
using namespace std;
int main()
{
int i,n;
ofstream fisier("bac.out");
cin>>n;
for(i=n;i>0;i--)
if(i%2==0)
fisier<<-i/2<<" ";
else
fisier<<(i+1)/2<<" ";
fisier.close();
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă