C Program két szám LCM-jének megkeresésére

Ebben a példában megtanulja kiszámítani a felhasználó által beírt két szám LCM-jét (legalacsonyabb közös többszöröse).

A példa megértéséhez ismernie kell a következő C programozási témákat:

  • C programozó operátorok
  • C ha … más nyilatkozat
  • C közben és csináld … míg a hurok

Két n1 és n2 egész szám LCM a legkisebb pozitív egész szám, amely tökéletesen osztható n1-gyel és n2-vel (maradék nélkül). Például a LCM 72 és 120 értéke 360.

Az LCM while és if használatával

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

Kimenet

 Adjon meg két pozitív egész számot: 72 120 A 72 és 120 LCM értéke 360. 

Ebben a programban a felhasználó által megadott egész számokat az n1, illetve az n2 változóban tároljuk.

Az n1 és n2 közül a legnagyobb számot max. Két szám LCM-je nem lehet kisebb, mint max.

A whileciklus teszt kifejezése mindig igaz.

Minden iterációban ellenőrizzük, hogy a max tökéletesen osztható-e n1-gyel és n2-vel.

 ha (min% n1 == 0 && max% n2 == 0) (…) 

Ha ez a tesztfeltétel nem igaz, akkor a max növekszik 1és az iteráció addig folytatódik, amíg az utasítás teszt kifejezése ifigaz.

Két szám LCM-je a képlet segítségével is megtalálható:

 LCM = (szám1 * szám2) / GCD 

Megtanulják, hogyan lehet megtalálni két szám GCD-jét a C programozásban.

LCM számítás GCD használatával

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

Kimenet

 Írjon be két pozitív egész számot: 72 120 Két 72 és 120 szám LCM értéke 360. 

érdekes cikkek...