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

Vreau sa ma ajutati si pe mine la punctul "d".
Mersi :D

Anexe:

artur99: scoți i=1 în față, înlocuiești cu cât timp, pui i<=n la condiție, și înainte de sfârșitul structurii cât timp, pui și un i<-i+1
SAIDARIAN: nu are nici o legatura, ce ai scris tu este practic ceea ce este in "for" . eu trebuie sa fac acelasi algoritm fara structuri repetitive sau subprograme recursive.
artur99: Aaah, scuze, credeam că e cerința clasică, nici nu am citit.

Răspunsuri la întrebare

Răspuns de artur99
1
Dacă faci niște teste manual pe hârtie, o să vezi că atunci când i-ul este impar, j este 3, iar când i este par, j e 4.
Apoi, prima parte din codul din structura repetitivă nu face decât să adune 4 la a când i este impar, și să scadă 3 din a, când i este par. Asta înseamnă că o să adune 4 de n/2 ori, și o să scadă 3 de n/2 ori(sau n/2+1, dacă n e impar).

Așadar, tot algoritmul se poate restrânge în:
citește a, n
a <- a + (n/2) * 4;
dacă n%2 = 0 atunci
    a <- a - (n/2) * 3;
altfel
    a <- a - (n/2+1) * 3;

scrie a;

SAIDARIAN: mersi
SAIDARIAN: am observat faptul ca i afiseaza 3 cand e nr impar si 4 cand e nr par ,dar nu stiam ce calcule trebuie facute pt a obtine a.
artur99: aaa :D npc
Alte întrebări interesante