http://janschroder.com/

#include<stdio.h>
 
#include<stdlib.h>
 
int obeb(int,int);
int okek(int,int);
int main()
{
int x,y;

printf("Iki pozitif tamsayi giriniz\n");
scanf("%d%d",&x,&y);
printf("Obeb(%d,%d)=%d\n",x,y,obeb(x,y));
printf("Okek(%d,%d)=%d\n",x,y,okek(x,y));

system("pause");
return 0;
}
int obeb(int a,int b)
{
int obeb=1,i=2;
while(!(a==1||b==1))
{
while(a%i==0||b%i==0)
{
if(a%i==0&&b%i==0)
{
a/=i;
b/=i;
obeb*=i;
}
else if(a%i==0)
a/=i;
else if(b%i==0)
b/=i;
}//ikinci while ın sonu
(i%2)?i+=2:i++;
/*Bu ifade i%2 değeri 1 olunca(doğru olunca) i+=2(i=i+2) ifadesini,
i%2 değeri 0 olunca(yanlış olunca) i++(i=i+1) iafdesini çalıştırıyor.
Böylece i değeri 2 den sonra 3 değerini alıyor ve daha sonrasında 2 şer 2 şer artıyor.
(i=2,3,5,7,9,.....)*/
}//birinci while ın sonu

return obeb;
}
int okek(int a,int b)
{
int okek=1,i=2;
while(!(a==1&&b==1))
{
while(a%i==0||b%i==0)
{
if(a%i==0&&b%i==0)
{
a/=i;
b/=i;
okek*=i;
}
else if(a%i==0)
{
a/=i;
okek*=i;
}
else if(b%i==0)
{
b/=i;
okek*=i;
}
}//ikinci while ın sonu
(i%2)?i+=2:i++;
}//birinci while ın sonu

return okek;
}

 Bu örnek kullanıcılarımız tarafından gönderilmiştir.

http://leem.co.kr/
  • Misafir - feyz a nur

    bu programın akış dıyagramını gönderir mısınız

    0 Beğen