Javada iki sayının OBEB’ini bulan program
Javada kendini çağıran metotlar ile iki sayının OBEB ini bulan programın genel algoritması şu şekildedir.
1-a,b sayısı birbirine eşit ise zaten en büyük ortak bölenleri kendileridir.Değilse alt satıra geç.
2-a sayısı b sayısından küçükse sayıların yerini değiştir ve alt satıra geç.
3-a sayısından b sayısını çıkar ve elde edilen sonucu a sayısının yerine yaz ve b sayısıda bir önceki sayı olan b sayısı ile aynı kalsın ve birinci adıma geç.
Genel algoritma mimarisi bu şekildedir burda genel amacımız sayıları birbirine eşitlemeye çalışmak ve eşitlendiği zaman eşitlenen sayıyı yazmaktır.
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
|
package OBEBProgrami;
public class OBEB{
public static void main(String[] args) {
dondur(42,28);
}
static void dondur(int a,int b){
if(a != b){
if(a<b){
dondur(b,a);
}else{
dondur((a-b),b);
}
}else{
System.out.println(a);
}
}
}
|
Cevap: 14
Yorum ( 1 )
Aşağıdaki implementation hem daha kısa hem de daha hızlıdır.
int gcd( int a , int b )
{
if( b == 0 ) return a;
return gcd(b,a%b);
}