Java programm kahe numbri GCD leidmiseks

Selles programmis saate õppida Kotlinis leidma kahe numbri GCD-d. Selleks kasutatakse tsükleid for ja while lausete if if abil.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:

  • Java kui … muidu avaldus
  • Java aasale
  • Java ajal ja tee … Loopi ajal

Kahe täisarvu HCF või GCD on suurim täisarv, mis võib mõlemad arvud täpselt jagada (ilma jäägita).

Näide 1: Leidke kahest numbrist GCD, kasutades lauset loop ja 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); ) )

Väljund

 GCD 81 ja 153 on 9

Siin on kaks numbrit, mille GCD leidub, vastavalt n1 ja n2.

Seejärel käivitatakse a for silmus, kuni i on väiksem kui n1 ja n2. Nii korratakse GCD leidmiseks kõik numbrid vahemikus 1 ja väikseim kahest numbrist.

Kui nii n1 kui ka n2 jagunevad i-ga, määratakse gcd numbriks. See kestab seni, kuni leiab suurima arvu (GCD), mis jagab nii n1 kui ka n2 ülejäänuteta.

Saame selle probleemi lahendada ka mõnda aega kasutades järgmiselt:

Näide 2: Leidke kahe numbri GCD, kasutades lauset while loop ja 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); ) )

Väljund

 GCD = 9

See on parem viis GCD leidmiseks. Selles meetodis lahutatakse suuremast täisarvust väiksem täisarv ja tulemus määratakse muutujat, mis hoiab suuremat täisarvu. Seda protsessi jätkatakse seni, kuni n1 ja n2 on võrdsed.

Kaks ülaltoodud programmi toimivad ettenähtud viisil ainult siis, kui kasutaja sisestab positiivsed täisarvud. Siin on teise näite väike muudatus, et leida GCD nii positiivsete kui ka negatiivsete täisarvude jaoks.

Näide 3: GCD nii positiivsete kui ka negatiivsete arvude jaoks

 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); ) )

Väljund

 GCD = 9

Huvitavad Artiklid...