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

Примери различитих начина израчунавања ГЦД-а за две целобројне вредности (и за позитивне и за негативне целобројне бројеве) помоћу петљи и изјава за доношење одлука.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања на Ц:

  • Ц Оператери програмирања
  • Ц за Лооп
  • Ц иф… елсе Изјава
  • Ц вхиле и уради … вхиле Лооп

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

Постоји много начина да се нађе највећи заједнички делилац у програмирању на језику Ц.

Пример # 1: ГЦД који користи фор петљу и иф изјаву

 #include int main() ( int n1, n2, i, gcd; printf("Enter two integers: "); scanf("%d %d", &n1, &n2); for(i=1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1%i==0 && n2%i==0) gcd = i; ) printf("G.C.D of %d and %d is %d", n1, n2, gcd); return 0; ) 

У овом програму су две целобројне вредности које је корисник унео у променљиве н1 и н2. Затим се forпетља понавља док и није мањи од н1 и н2.

У свакој итерацији, ако су и н1 и н2 тачно дељиви са и, вредност и додељује се гцд.

Када је forпетља завршена, највећи заједнички делитељ два броја се чува у променљивој гцд.

Пример # 2: ГЦД Коришћење вхиле петље и иф … елсе изјаве

 #include int main() ( int n1, n2; printf("Enter two positive integers: "); scanf("%d %d",&n1,&n2); while(n1!=n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) printf("GCD = %d",n1); return 0; )

Оутпут

 Унесите два позитивна цела броја: 81 153 ГЦД = 9

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

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

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

 #include int main() ( int n1, n2; printf("Enter two integers: "); scanf("%d %d",&n1,&n2); // if user enters negative number, sign of the number is changed to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1!=n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) printf("GCD = %d",n1); return 0; )

Оутпут

 Унесите две целобројне вредности: 81 -153 ГЦД = 9

Такође можете да користите рекурзију да бисте пронашли ГЦД.

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