Răspuns :
Salut!
Trebuie sa scadem cu -4, deoarece noi incepem cu i ul de la 1, iar daca ar fi sa dam niste cout uri pe exemplu ar veni astfel:
p = 1 (1 * 1 = 1), deci un pas va fi tot 1, in loc sa trecem la 3
i = 3 (1 + 2 = 3)
p = 3
i = 5
p = 15
i = 7
p = 105
i = 9 (daca ar fi fost sa ne oprim aici, atunci ar fi fost k = i - 2), insa p este in continuare <= a, asa ca mai mergem inca un pas)
p = 945 (aici p a depasit valoarea lui a, insa il crestem in continuare si pe i, iar apoi programul va verifica si va vedea ca p a depasit valoarea lui a)
i = 11
7 (k = 7)
Un fix la chestia asta ar fi sa verificam dupa instructiunea p *= i daca p a depasit a, iar daca a depasit ii dam un break fortat, pentru a nu l mai creste pe i, iar astfel rezultatul k va fi i - 2
Vă mulțumim pentru vizita pe platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de sprijin suplimentar, vă încurajăm să ne contactați. Revenirea dumneavoastră ne bucură, iar dacă v-a plăcut, nu uitați să adăugați site-ul nostru la favorite!