C Programlama Dili OKEK Bulma (Ortak Katların En Küçüğü) Algoritmaları
C Programlama dili OKEK bulma (ortak katların en küçüğü) algoritmalarını anlaşılır ve basit bir şekilde bulabilirsiniz. Okek işlemini 2 şekilde yapabiliriz.
- Yöntem 1. olarak kolay bir okek algoritması yazabiliriz.
- Yöntem 2. olarak OKEK(x,y) = x*y / OBEB(x,y) formülünü kullarak obeb fonksiyonu sayesinden bulabiliriz.
Yöntem 1.
Aşağıdaki resimdeki mantığı kullanarak OKEK bulabilirsiniz.
C PROGRAMLAMA DİLİ OKEK ALGORİTMASI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#include <stdio.h>
int main() {
int sayi1, sayi2, buyukSayi;
int i = 2, sonuc = 1;
int gecici1, gecici2, kontrol;
printf("Birinci Sayiyi Giriniz: ");
scanf("%d", &sayi1);
printf("Ikinci Sayiyi Giriniz: ");
scanf("%d", &sayi2);
if (sayi1 > sayi2)
buyukSayi = sayi1;
else
buyukSayi = sayi2;
gecici1 = sayi1;
gecici2 = sayi2;
while (i <= buyukSayi) {
kontrol = 0;
if (gecici1 % i == 0) {
gecici1 /= i;
kontrol++;
}
if (gecici2 % i == 0) {
gecici2 /= i;
kontrol++;
}
if (kontrol != 0)
sonuc *= i;
if (gecici1 % i != 0 && gecici2 % i != 0)
i++;
}
printf("OKEK(%d,%d) = %d", sayi1, sayi2, sonuc);
return 0;
}
|
Çıktı:
1
2
3
4
5
6
7
8
9
|
Çıktı1:
Birinci Sayiyi Giriniz: 160
Ikinci Sayiyi Giriniz: 192
OKEK(160,192) = 960
Çıktı2:
Birinci Sayiyi Giriniz: 27
Ikinci Sayiyi Giriniz: 5
OKEK(27,5) = 135
|
Yöntem 2.
OKEK(x,y) = x*y / OBEB(x,y) formülü kullanarak OKEK bulma.
C Programlama Dili OBEB ile OKEK Bulma
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <stdio.h>
int main() {
int sayi1, sayi2, kucukSayi;
int i, obeb = 1, sonuc;
printf("Birinci Sayiyi Giriniz: ");
scanf("%d", &sayi1);
printf("Ikinci Sayiyi Giriniz: ");
scanf("%d", &sayi2);
if (sayi1 < sayi2)
kucukSayi = sayi1;
else
kucukSayi = sayi2;
for (i = 2; i <= kucukSayi; i++) {
if (sayi1 % i == 0 && sayi2 % i == 0)
obeb = i;
}
sonuc = (sayi1 * sayi2) / obeb;
printf("OKEK(%d,%d) = %d", sayi1, sayi2, sonuc);
return 0;
}
|
Çıktı:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Çıktı 1:
Birinci Sayiyi Giriniz: 73
Ikinci Sayiyi Giriniz: 11
OKEK(73,11) = 803
Çıktı 2:
Birinci Sayiyi Giriniz: 75
Ikinci Sayiyi Giriniz: 75
OKEK(75,75) = 75
Çıktı 3:
Birinci Sayiyi Giriniz: 72
Ikinci Sayiyi Giriniz: 96
OKEK(72,96) = 288
|