fbpx

Problema #61 – AfisareDivizoriComuni – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Să se scrie un program care afișează divizorii comuni ai două numere naturale citite de la tastatură.

Date de intrare

Programul citește de la tastatură două numere naturale a și b.

Date de ieşire

Programul afișează pe ecran, în ordine crescătoare, divizorii comuni ai numerelor a și b, separați printr-un spațiu.

Restricţii şi precizări

  • 0 < a, b < 1.000.000.000

Exemplu1:

Intrare

24 36

Ieșire

1 2 3 4 6 12
#include <bits/stdc++.h>
using namespace std;
void rezolvare()
{
    unsigned long long a,b,r,d;
    cin>>a>>b;
    if(a==0) d=b;
    else
        if(b==0) d=a;
    else
    {while(b!=0)
    {
        r=a%b;
        a=b;
        b=r;
    }
    d=a;
    }
    for(int i=1;i<=d;i++)
    {
        if(d%i==0) cout<<i<<" ";
    }
}
int main()
{
    rezolvare();
    return 0;
}
Comentarii

S-ar putea sa iti placa