454
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