I dette eksemplet lærer du å beregne LCM (Lowest common multiple) av to tall som er skrevet inn av brukeren.
For å forstå dette eksemplet, bør du ha kunnskap om følgende C-programmeringsemner:
- C Programmeringsoperatører
- C if… else Erklæring
- C mens og gjør … mens Loop
LCM av to heltall n1 og n2 er det minste positive heltallet som er helt delelig med både n1 og n2 (uten en rest). For eksempel er LCM på 72 og 120 360.
LCM bruker mens og hvis
#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; )
Produksjon
Skriv inn to positive heltall: 72 120 LCM på 72 og 120 er 360.
I dette programmet lagres heltallene som er angitt av brukeren i henholdsvis variabel n1 og n2.
Det største antallet blant n1 og n2 er lagret i maks. LCM på to tall kan ikke være mindre enn maks.
Testuttrykket til while
løkke er alltid sant.
I hver iterasjon kontrolleres om max er helt delelig med n1 og n2.
hvis (min% n1 == 0 && maks% n2 == 0) (…)
Hvis denne testtilstanden ikke er sant, økes maksimum av 1
og iterasjonen fortsetter til testuttrykket til if
utsagnet er sant.
LCM med to tall kan også bli funnet ved hjelp av formelen:
LCM = (num1 * num2) / GCD
Lær hvordan du finner GCD av to tall i C-programmering.
LCM-beregning ved bruk av 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; )
Produksjon
Skriv inn to positive heltall: 72 120 LCM for to tall 72 og 120 er 360.