Dalam contoh ini, Anda akan belajar menghitung KPK (kelipatan persekutuan terendah) dari dua angka yang dimasukkan oleh pengguna.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman C berikut ini:
- Operator Pemrograman C
- Pernyataan C if… else
- C sementara dan lakukan… saat Loop
KPK dari dua bilangan bulat n1 dan n2 adalah bilangan bulat positif terkecil yang habis habis oleh n1 dan n2 (tanpa sisa). Misalnya KPK dari 72 dan 120 adalah 360.
LCM menggunakan while dan if
#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; )
Keluaran
Masukkan dua bilangan bulat positif: 72 120 KPK dari 72 dan 120 adalah 360.
Dalam program ini, bilangan bulat yang dimasukkan oleh pengguna disimpan di variabel n1 dan n2 masing-masing.
Jumlah terbesar di antara n1 dan n2 disimpan di maks. KPK dari dua angka tidak boleh kurang dari maks.
Ekspresi pengujian while
loop selalu benar.
Dalam setiap iterasi, apakah max habis habis dibagi n1 dan n2 dicentang.
jika (min% n1 == 0 && max% n2 == 0) (…)
Jika kondisi pengujian ini tidak benar, max bertambah dengan 1
dan iterasi berlanjut sampai ekspresi pengujian if
pernyataan itu benar.
KPK dari dua angka juga dapat ditemukan menggunakan rumus:
KPK = (num1 * num2) / GCD
Pelajari cara mencari GCD dari dua angka dalam pemrograman C.
Perhitungan LCM Menggunakan 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; )
Keluaran
Masukkan dua bilangan bulat positif: 72 120 KPK dari dua angka 72 dan 120 adalah 360.