Help please!!! Subprogramul f este definit alăturat. Indicați apelul care determină afişarea, în ordine strict descrescătoare, a tuturor divizorilor proprii pozitivi ai numărului 1000 (divizori diferiți de 1 și de 1000).
100 puncte
Anexe:
Răspunsuri la întrebare
Răspuns de
1
In subprogramul tau variabila d creste dupa ce este apelat f(n,d++) dar nefiind varaibila globala nu o creasca niciodata. Deci, trebuie ++d nu d++, ori programul va apela acelasi f(n,d) la infinit (atata timp cat d-ul initial este mai mic decat n/2). Asa va face ++ inainte sa se reapeleze.
Cu modificarea aceasta obtii divizorii proprii ai numarului 1000 cu apelul f(1000,1). Dar si un 500 inainte deoarece subprogramul verifica de 2 ori d=500. Pentru a rezolva si problema asta trebuie sa modifici d<n/2 in d<=n/2.
grozavuadina2002:
Mulțumesc!!!
Răspuns de
0
Răspuns:
Trebuie ++d, ci nu d++ .
Cu ajutorul acestei modificări obținem divizorii proprii ai
1.000 ===》 apelul f(1.000,1)
d = 500, deoarece subprogramul verifica de 2 ori
Se modifica din d<n/2 in d<=n/2
Alte întrebări interesante
Engleza,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Informatică,
9 ani în urmă