Titlul: prime Scris de: alexandru ionescu din Martie 30, 2012, 23:04:21 algoritm recursiv nr prime:
#include... int prim(int n, int i) { if(i==1)return 1; else if(n%i==0)return 0; else return prim(n,i-1); } void main() { int n;citesc,scriu n; if(prim(n,sqrt(n)) afisari... } nu inteleg insctructiunea return prim(n,i-1). Ce face(intoarce) si de cate ori se executa. (daca se poate sa-mi explicati, chiar si pe larg) Multumesc. Titlul: Răspuns: prime Scris de: roby10 din Martie 30, 2012, 23:21:23 ruleaza-l cu debug si vezi exact ce face si intelegi si cum face
Titlul: Răspuns: prime Scris de: Sorin Rita din Martie 30, 2012, 23:22:40 Programul tau incearca sa ia toate numerele de la sqrt(n) pana la 1 si daca n nu se divide cu niciunul din ele inseamna ca e prim. Prima data il ia pe sqrt(n) si daca numarul tau,n, nu se divide cu el atunci trece la urmatorul, adica il verifica pe sqrt(n)-1. Si tot asa pana ajunge la 1 sau pana gaseste un divizor si inseamna ca numarul nu-i prim.
|