I det här exemplet lär du dig att beräkna LCM (Lägsta gemensamma multipel) av två nummer som användaren har angett.
För att förstå detta exempel bör du ha kunskap om följande C-programmeringsämnen:
- C Programmeringsoperatörer
- C if… else Uttalande
- C medan och gör … medan Loop
LCM för två heltal n1 och n2 är det minsta positiva heltalet som är helt delbart med både n1 och n2 (utan en återstod). Till exempel är LCM på 72 och 120 360.
LCM använder medan och om
#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; )
Produktion
Ange två positiva heltal: 72 120 LCM för 72 och 120 är 360.
I detta program lagras de heltal som anges av användaren i variablerna n1 respektive n2.
Det största antalet bland n1 och n2 lagras i max. LCM för två siffror får inte vara mindre än max.
Testuttrycket av while
loop är alltid sant.
I varje iteration kontrolleras om max är helt delbart med n1 och n2.
om (min% n1 == 0 && max% n2 == 0) (…)
Om detta testvillkor inte är sant ökas max av 1
och iterationen fortsätter tills testuttrycket av if
uttalandet är sant.
LCM med två siffror kan också hittas med formeln:
LCM = (num1 * num2) / GCD
Lär dig hur du hittar GCD för två nummer i C-programmering.
LCM-beräkning med GCD
#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; )
Produktion
Ange två positiva heltal: 72 120 LCM för två nummer 72 och 120 är 360.