AfisareDivizoriComuni problema 61 de pe pbinfo
Să se scrie un program care afișează divizorii comuni ai două numere naturale citite de la tastatură
Răspunsuri la întrebare
Răspuns de
3
#include<bits/stdc++.h>using namespace std;int x,y,divi[105];int Cmmdc(int x,int y){ int r; while(y) { r=x%y; x=y; y=r; } return x;}void Afisare(int x){ int i,lg; lg=0; for(i=1;i*i<x;i++) if(x%i==0) { divi[++lg]=i; divi[++lg]=x/i; } if(i*i==x) divi[++lg]=i; sort(divi+1,divi+lg+1); for(i=1;i<=lg;i++) cout<<divi[i]<<" ";}int main(){ int sol; cin>>x>>y; sol=Cmmdc(x,y); Afisare(sol);}
Alte întrebări interesante
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă
Matematică,
9 ani în urmă
Studii sociale,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
using namespace std;
int x,y,divi[105];
int Cmmdc(int x,int y)
{
int r;
while(y)
{
r=x%y;
x=y;
y=r;
}
return x;
}
void Afisare(int x)
{
int i,lg;
lg=0;
for(i=1;i*i<x;i++)
if(x%i==0)
{
divi[++lg]=i;
divi[++lg]=x/i;
}
if(i*i==x)
divi[++lg]=i;
sort(divi+1,divi+lg+1);
for(i=1;i<=lg;i++)
cout<<divi[i]<<" ";
}
int main()
{
int sol;
cin>>x>>y;
sol=Cmmdc(x,y);
Afisare(sol);
}