Girilen iki tam sayının Euclid (OKLIT) kuralı ile EBOB'unu alan program. Euclid (OKLIT) kuralının ne olduğunu kod da bahsettim. Yaparken kafa biraz yandı ama başarıya ulaştım .
C:
#include <stdlib.h>
#include <stdio.h>
int main()
{
/*Baslamadan once burada Euclid (OKLIT) kuralı kullanılmıstır.
Kisaca bahsetmek gerekirse;
iki tam sayi belirleyelim 120 ve 35 olsun.
Buyuk sayi kucuk sayiya bolunur ve kalani bulunur. 120 / 35 = 15 (kalan.)
elimizde 35 ve 15 kaldi. Sonra tekrardan buyuk sayiyi kucuk sayiya boluyoruz ve bu kalan 0 olana dek suruyor.
35 / 15 = 5
15 / 5 = 0 Bizim burada en son bolunen kucuk sayimiz EBOB'umuz oluyor.
Bilmeyenler icin bahsetmek istedim.*/
int sayi1, sayi2, buyuk, kucuk, kalan;
do
{
printf("Lutfen EBOB'unu almak istediginiz iki pozitif tam sayi giriniz.\n");
scanf("%d%d", &sayi1, &sayi2);
} while (sayi1 <= 0 || sayi2 <= 0);
if (sayi1 > sayi2)
{
buyuk = sayi1;
kucuk = sayi2;
}
else
{
buyuk = sayi2;
kucuk = sayi1;
}
kalan = buyuk % kucuk;
while (kalan != 0)
{
buyuk = kucuk;
kucuk = kalan;
kalan = buyuk % kucuk;
}
printf("EBOB(%d,%d) = %d\n", sayi1, sayi2, kucuk);
system("pause");
return 0;
}