У овом примеру ћете научити да израчунате ЛЦМ (најнижи заједнички вишекратник) два броја која је унео корисник.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања на Ц:
- Ц Оператери програмирања
- Ц иф… елсе Изјава
- Ц вхиле и уради … вхиле Лооп
ЛЦМ две целобројне вредности н1 и н2 најмањи је позитивни цели број који је савршено дељив са н1 и н2 (без остатка). На пример, ЛЦМ од 72 и 120 је 360.
ЛЦМ користећи вхиле и иф
#include int main() ( int n1, n2, max; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); // maximum number between n1 and n2 is stored in min max = (n1> n2) ? n1 : n2; while (1) ( if (max % n1 == 0 && max % n2 == 0) ( printf("The LCM of %d and %d is %d.", n1, n2, max); break; ) ++max; ) return 0; )
Оутпут
Унесите два позитивна цела броја: 72 120 ЛЦМ од 72 и 120 је 360.
У овом програму, цели бројеви које је корисник унео чувају се у променљивим н1 односно н2.
Највећи број међу н1 и н2 се чува у макс. ЛЦМ два броја не може бити мањи од макс.
Тест израз while
петље је увек тачан.
У свакој итерацији проверава се да ли је мак савршено дељив са н1 и н2.
ако (мин% н1 == 0 && макс% н2 == 0) (…)
Ако овај тест услов није тачан, максимум се увећава за 1
и итерација се наставља све док тест израз израза if
није тачан.
ЛЦМ два броја такође се може наћи помоћу формуле:
ЛЦМ = (нум1 * нум2) / ГЦД
Научите како да пронађете ГЦД два броја у програмирању на језику Ц.
ЛЦМ прорачун помоћу ГЦД-а
#include int main() ( int n1, n2, i, gcd, lcm; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); for (i = 1; i <= n1 && i <= n2; ++i) ( // check if i is a factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i; ) lcm = (n1 * n2) / gcd; printf("The LCM of two numbers %d and %d is %d.", n1, n2, lcm); return 0; )
Оутпут
Унесите два позитивна цела броја: 72 120 ЛЦМ два броја 72 и 120 је 360.