Salut!Sunt nou pe forum!As vrea sa ma ajutati si pe mine la unele probleme de informatica pentru admitere.
Problema este :
V. Informatic˘a
Se consider˘a ¸sirul de numere naturale x = 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, . . . (fiecare num˘ar natural nenul
apare, ˆın ordine, de un num˘ar de ori egal cu el ˆınsu¸si). a) Se d˘a un num˘ar natural nenul n. S˘a se
scrie un program care afi¸seaz˘a primii n termeni al ¸sirului x. b) Se d˘a un num˘ar natural nenul n. S˘a
se scrie un program care afi¸seaz˘a ˆın timp constant (care nu depinde de n) al n-lea termen al ¸sirului
x. c) Se d˘a un num˘ar natural nenul n ¸si n numere naturale nenule y1, . . . , yn. S˘a se scrie un program
care verific˘a (afi¸sˆand „DA”, respectiv „NU”) dac˘a exist˘a o permutare a termenilor y1, . . . , yn care s˘a
fie identic˘a cu primii n termeni ai ¸sirului x. d) Dat¸i o solut¸ie ˆın timp liniar (ˆın funct¸ie de n) cerint¸ei
de la punctul c).
V. Informatic˘a
Se consider˘a ¸sirul de numere naturale x = 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, . . . (fiecare num˘ar natural nenul
apare, ˆın ordine, de un num˘ar de ori egal cu el ˆınsu¸si). a) Se d˘a un num˘ar natural nenul n. S˘a se
scrie un program care afi¸seaz˘a primii n termeni al ¸sirului x. b) Se d˘a un num˘ar natural nenul n. S˘a
se scrie un program care afi¸seaz˘a ˆın timp constant (care nu depinde de n) al n-lea termen al ¸sirului
x. c) Se d˘a un num˘ar natural nenul n ¸si n numere naturale nenule y1, . . . , yn. S˘a se scrie un program
care verific˘a (afi¸sˆand „DA”, respectiv „NU”) dac˘a exist˘a o permutare a termenilor y1, . . . , yn care s˘a
fie identic˘a cu primii n termeni ai ¸sirului x. d) Dat¸i o solut¸ie ˆın timp liniar (ˆın funct¸ie de n) cerint¸ei
de la punctul c).
La punctul a si b l-am rezolvat
puncutl a
#include
#include
#include
unsigned int n;
unsigned int *v;
void main()
{
cout<<„n=”;cin>>n;
int nr=n*(n+1)/2
a=malloc(nr*sizeof(int));
int i=1;
int j;
while(i==nr)
{
for(j=1;j<=i;j++)
v=i;
i++;
}
for(i=1;i<=nr;i++)
cout< free v;
getch();
}Am observat ca sunt n*(n+1)/2 numere alocam spatiu pentru un vector fix de n*(n+1) numere .creem vectorul dupa care il afisam.
la punctul 2
#include
#include
#include
unsgined int n;
double sol;
void main ()
{
cout<<„n=”;cin>>n;//al n-lea element;
//stind ca suma celor n elemente este n*(n+1)/2 si fie solsolutia
sol*sol+sol-n=0;
float delta;
delta=1+4*n;
sol=(-1+sqrt(delta))/2;
sol=ceil(sol);//daca este un numar de exemplu 7,5 inseamna ca sunt otate cifrele cu 7 doar ca mai sunt si cifre cu 8 cateva nu ne intereseaza cate cifre de 8 sunt stim doar ca sunt dar nu toate
cout<<„al „< getch();}
LA punctul c nu inteleg cine este y1 y2 …. nu am idee cum ar trebui sa incep