Verificare – numere prime între ele

Pentru a verifica dacă 2 numere sunt prime între ele, trebuie să vedem dacă cel mai mare divizor comun al lor este 1. Dacă da, atunci ele sunt prime între ele.

C++

#include 

using namespace std;

int main()
{
    unsigned x,y,r;
    cin>>x>>y;
    r=x%y;
    while(x*y!=0)
    {
        x=y;
        y=r;
        r=x%y;
    }
    if(y==1)cout<<"DA";
    else cout<<"NU";
    return 0;
}

Cel mai mic multiplu comun

Calculaţi cel mai mic multiplu comun al două numere naturale nenule.

#include

using namespace std;

int main()
 {
     unsigned a,b,p,r,cmmmc;
 cin>>a>>b;
 p=a*b;
 r=a%b;
 while(r!=0){
 a=b;
 b=r;
 r=a%b;
 }
 cmmmc=p/b;
 cout<<cmmmc;
     return 0;
 }

 

Cel mai mare divizor comun – Algoritmul lui Euclid

Prin acest algoritm, vom folosi o variabilă care va reprezenta restul primelor două numere. Primul număr îl va primi pe cel de-al doilea, cel de-al doilea va primi restul, iar restul se va calcula din nou. Acest lucru se continua până când restul este egal cu zero, iar valoarea finală a celui de-al doilea număr va fi cel mai mare divizor comun dintre cele două numere. Putem vedea ceea ce am explicat în exemplul următor, cu ajutorul unui tabel.

Calculaţi cel mai mare divizor comun dintre două numere naturale nenule.

x      y      r

30   45   30

45   30   15

30   15    0

15 (valoarea lui y) este cel mai mare divizor comun dintre x şi y.

C++

#include 

using namespace std;

int main()
 {
    unsigned x,y,r;
 cin>>x>>y;
 r=x%y;
 while(r!=0){
 x=y;
 y=r;
 r=x%y;
 }
 cout<<y;
 return 0;
 }

!!! Dacă numerele pot fi nenule, atunci se va folosi structura alternativă astfel:

if(x*y==0)cout<<x+y;
else

Instrucţiuni 2 vor fi reprezentate de ceea ce am scris la algoritmul anterior.

Cel mai mare divizor comun – scăderi repetate

Prin acest algoritm vom scădea numărul mai mic din numărul mai mare dintre primele două numere date, până când ele vor fi egale. Astfel, numărul obţinut va fi cel mai mare divizor comun dintre cele două numere. Putem vedea ceea ce am explicat în exemplul următor, cu ajutorul unui tabel.

Calculaţi cel mai mare divizor comun dintre două numere naturale nenule.

x      y

20   36

20   16

4     16

4     12

4      8

4      4

Cel mai mare divizor comun este 4.

C++

#include

using namespace std;

int main()
 {
 unsigned x,y;
 cin>>x>>y;
 while(x!=y)
 if(x>y)x=x-y;
 else(y>x)y=y-x;
 cout<<y;
 return 0;
 }

!!! Dacă numerele pot fi nenule, atunci se va folosi structura alternativă astfel:
if(x*y==0)cout<<x+y;
else

Instrucţiuni 2 vor fi reprezentate de ceea ce am scris la algoritmul anterior.