Котлинов програм за проналажење ГЦД-а од два броја

У овом програму ћете научити да пронађете ГЦД два броја у Котлину. То се постиже коришћењем вхиле петље уз помоћ иф елсе израза.

ХЦФ или ГЦД од две целине је највећи цео број који може тачно поделити оба броја (без остатка).

Пример 1: Пронађите ГЦД два броја помоћу вхиле петље

 fun main(args: Array) ( val n1 = 81 val n2 = 153 var gcd = 1 var i = 1 while (i <= n1 && i <= n2) ( // Checks if i is factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i ++i ) println("G.C.D of $n1 and $n2 is $gcd") )

Када покренете програм, излаз ће бити:

 ГЦД од 81 и 153 је 9

Овде су два броја чији се ГЦД налази налазе у н1, односно н2.

Затим се извршава вхиле петља док и није мањи од н1 и н2. На овај начин се сви бројеви између 1 и најмањег од два броја понављају да би се пронашао ГЦД.

Ако су и н1 и н2 дељиви са и, гцд се поставља на број. То траје све док не пронађе највећи број (ГЦД) који дели н1 и н2 без остатка.

За разлику од Јаве, не можете да користите фор петљу са условима за овај проблем. Ево еквивалентног Јава кода: Јава програм за проналажење ГЦД-а од два броја.

Постоји боља алтернатива за проналажење ГЦД-а у Котлину на следећи начин:

Пример 2: Пронађите ГЦД од два броја (боља алтернатива)

 fun main(args: Array) ( var n1 = 81 var n2 = 153 while (n1 != n2) ( if (n1> n2) n1 -= n2 else n2 -= n1 ) println("G.C.D = $n1") )

Када покренете програм, излаз ће бити:

 ГЦД = 9

Ово је бољи начин за проналажење ГЦД-а. У овој методи мањи цели број се одузима од већег целог броја, а резултат се додељује променљивој која садржи већи цели број. Овај процес се наставља све док н1 и н2 не буду једнаки.

Горе наведена два програма раде како је предвиђено само ако корисник унесе позитивне целе бројеве. Ево мале модификације другог примера да бисмо пронашли ГЦД и за позитивне и за негативне целобројне вредности.

Пример 3: ГЦД и за позитивне и за негативне бројеве

 fun main(args: Array) ( var n1 = 81 var n2 = -153 // Always set to positive n1 = if (n1> 0) n1 else -n1 n2 = if (n2> 0) n2 else -n2 while (n1 != n2) ( if (n1> n2) n1 -= n2 else n2 -= n1 ) println("G.C.D = $n1") )

Када покренете програм, излаз ће бити:

 ГЦД = 9

Занимљиви Чланци...