Salut! Imi puteti spune unde am gresit la urmatoarea problema: Subprogramul produs are doi parametri, în această ordine:
a, prin care primește un număr natural (a∈[1,106]);
k, prin care furnizează cea mai mare valoare naturală impară cu proprietatea că produsul tuturor numerelor impare din intervalul [1,k] este mai mic sau egal cu a.
Scrieți definiția completă a subprogramului.
}while(ok==0);
return k;
}
explicatie: pentru fiecare i=1 pana la k daca i impar atunci p=p*i in final dupa executarea "for-ului" p-ul va lua valoare produsului primelor k numere impare unde k este initializat 1
------------
copiez valoarea lui k in j (j=k;)
k ia valoarea produsului (k=p;)
compar : daca p depaseste pe a atunci inseamna ca numarul k care respecta cerintele problemei va fi cu 2 unitati in urma k=valoarea salvata (j) - 2 OK=1 adica m-am oprit
else : valoarea lui k redevine valoarea salvat + 2 unitati (k merge din impar in impar in ordine crescatoare)
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!