Java program za iskanje GCD dveh številk

V tem programu se boste naučili najti GCD dveh številk v Kotlinu. To se naredi z uporabo zank for in while s pomočjo stavkov if else.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Izjava Java, če … drugače
  • Java za zanko
  • Java while in do … while Loop

HCF ali GCD dveh celih števil je največje celo število, ki lahko natančno deli obe številki (brez ostanka).

Primer 1: Poiščite GCD dveh številk z uporabo stavka for in if

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1 % i==0 && n2 % i==0) gcd = i; ) System.out.printf("G.C.D of %d and %d is %d", n1, n2, gcd); ) )

Izhod

 GCD 81 in 153 je 9

Tu sta dve številki, katerih GCD najdemo, shranjeni v n1 oziroma n2.

Nato se for for izvede, dokler i ni manjši od n1 in n2. Na ta način se ponovijo številke med 1 in najmanjšo od obeh številk, da se najde GCD.

Če sta oba n1 in n2 deljiva z i, je gcd nastavljen na število. To traja, dokler ne najde največjega števila (GCD), ki deli n1 in n2 brez ostanka.

To težavo lahko rešimo tudi z uporabo zanke while, kot sledi:

Primer 2: Poiščite GCD dveh številk z uporabo zanke while in if else

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Izhod

 GCD = 9

To je boljši način za iskanje GCD. Pri tej metodi se od večjega števila odšteje manjše celo število, rezultat pa se dodeli spremenljivki, ki vsebuje večje celo število. Ta postopek se nadaljuje, dokler n1 in n2 nista enaki.

Zgornja dva programa delujeta, kot je predvideno, le če uporabnik vnese pozitivna cela števila. Tu je nekaj sprememb drugega primera, da bi našli GCD za pozitivna in negativna cela števila.

Primer 3: GCD za pozitivna in negativna števila

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = -153; // Always set to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Izhod

 GCD = 9

Zanimive Članki...