Scrieti un program Java care implementeaza un algoritm recursiv pentru
calculul cmmdc intre doua numere naturale a si b definit in felul urmator:
Cmmdc(a,b) = Cmmdc (b, a % b), daca b<>0;
Cmmdc(a,0)= a daca b=0
Răspunsuri la întrebare
Răspuns de
0
public class Main {
public static int cmmdc(int a, int b) {
// daca b este 0, returnam a
if (b == 0) {
return a;
}
// altfel, apelam functia cmmdc cu parametrii b si a mod b
return cmmdc(b, a % b);
}
public static void main(String[] args) {
// calculam cmmdc pentru a = 15 si b = 10
int a = 15;
int b = 10;
int cmmdc = cmmdc(a, b);
System.out.println("Cmmdc(" + a + ", " + b + ") = " + cmmdc);
}
}
Acest algoritm foloseste recursivitatea pentru a gasi cel mai mare divizor comun al numerelor a si b. In fiecare apel al functiei, se calculeaza restul impartirii lui a la b, si apoi se apeleaza functia cmmdc cu parametrii b si restul. Acest proces continua pana cand b devine 0, caz in care functia returneaza a.
Alte întrebări interesante
Engleza,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă