cmmdc divide et impera

Sa se calculeze cmmdc pentru n numere utilizand metoda divide et impera #include<iostream.h>int cmmdc(int a[20], int li, int ls){ if(li==ls) return a[li];  else   { int x,y;    x=cmmdc(a,li,(li+ls)/2);    y=cmmdc(a,(li+ls)/2+1,ls);    while(x!=y)       if(x>y) x=x-y;       else y=y-x;    return x;     }    }void main(){int a[20],n,i;cout<<“n=”;cin>>n;for(i=1;i<=n;i++) cin>>a[i];cout<<“cmmdc este: “<<cmmdc(a,1,n);}

cmmdc recursiv

Sa se afle cmmdc pentru 2 numere utilizand varianta recursiva #include<iostream.h>int a,b; int cmmdc(int a,int b){if(a==b) return a;else if (a>b) return cmmdc(a-b,b); else return cmmdc(a,b-a);} void main(){cout<<“a=”;cin>>a;cout<<“b=”;cin>>b;cout<<“cmmdc: “<<cmmdc(a,b);} {module orizontal600}

cmmdc

Să se scrie un program care să determine cel mai mare divizor comun a două numere naturale. Numerele se citesc de la tastatură. CEL MAI MARE DIVIZOR COMUN – ALGORITMUL LUI EUCLID (metoda impartirilor succesive) #include <iostream> using namespace std; int main(){ int a,b,r;cout<<“a=”;cin>>a;cout<<“b=”;cin>>b;r=a%b;while(r){a=b;b=r;r=a%b;}cout<<“cmmdc: “<<b; return 0;} CEL MAI MARE DIVIZOR COMUN – ALGORITMUL LUI NICOMAHUS … Read more