Informatică, întrebare adresată de Skrillex, 9 ani în urmă

Scrieţi în pseudocod un algoritm echivalent cu cel dat,

care să nu conţină nicio structură repetitivă.

citeşte a,n

(numere naturale)

┌pentru i=1,n execută

│┌dacă i%2=0 atunci

││ a=a-i

││altfel

││ a=a+i

│└■

└■

scrie a

Răspunsuri la întrebare

Răspuns de blindseeker90
7
Algoritmul respectiv iti trece prin toate valorile de la 1 la n.
Daca numarul este impar, atunci il aduna(conditia altfel) daca este par(conditia i%2==0)  atunci il scade
Pentru o pereche de 2 termeni consecutivi de forma (impar, par) sa zicem 2k-1,2k o sa avem atunci:
a=a+2k-1-2k=a-1
Deci observi ca la fiecare pereche de numere consecutive, scazi cate o unitate.
Daca n este un numar par, vor fi n/2 astfel de perechi, si atunci a=a-n/2
daca n este impar, atunci vor fi (n-1)/2 unitati si la final a=a-(n-1)/2+n
adunat cu n pentru ca n este numar impar
deci avem

citeste a,n;
daca n%2=0 atunci
a=a-n/2;
altfel
a=a-(n-1)/2+n;
scrie a;

Alte întrebări interesante