Anda di halaman 1dari 2

.

B1
Buah
KSN-P 2021
Deskripsi Cerita Untuk menjaga kesehatannya, Pak Dengklek membeli
buah-buahan untuk dimakan. Pak Dengklek membeli N buah apel merah
dan N buah apel hijau. Semua apel merah mempunyai berat masing-masing
sebesar A dan semua apel hijau mempunyai berat masing-masing sebesar B .
Kemudian, Pak Dengklek ingin memakan sebagian buah apel merah dan apel
hijau. Namun, Pak Dengklek ingin mengambil sesedikit mungkin apel sehingga
total berat apel yang diambil untuk masing-masing warna harus sama dan harus
minimal harus mengambil satu dari masing-masing jenis apel.
4.Buatlah program menggunakan bahasa C/C++ untuk menentukan konfi-
gurasi pengambilan apel sesuai permintaan Pak Dengklek memenuhi dengan
ketentuan sebagai berikut:
Format Masukan:
Baris pertama berisi sebuah bilangan N, A, dan B yang menyatakan banyak
apel untuk masing-masing warna, berat setiap apel merah, dan berat setiap
apel hijau.
Format Keluaran:
Sebuah baris berisi sebuah bilangan bulat yang berisi banyak apel minimal
sesuai dengan deskripsi cerita di atas.

Motivasi
Tinjau bahwa berat minimal kedua apel yang diambil ekuivalen dengan KPK dari
masing-masing berat kedua apel. Kemudian untuk mencari banyak apel yang diambil
sama saja KPK dibagi dengan berat masing-masing apel merah ditambah dengan KPK
dibagi dengan berat masing-masing apel hijau.
Akan dibuat fungsi kpk terlebih dahulu. Misal terdapat dua bilangan a, b dan misalkan
terdapat variabel baru c dimana nantinya akan dideklarasikan c sebagai a. Lalu,
lakukan looping menggunakan while dengan syarat a (mod b), sampai a (mod b) ≡
0 (mod b) dengan melakukan penambahan pada nilai a dengan c. Contoh : (a, b) =
(2, 3), maka alur kerja fungsi kpk(2, 3) adalah sebagai berikut : (Gunakan notasi %
untuk menyatakan hasil modulo). Tinjau bahwa 2%3 = 2. Maka
2%3=2 4%3=1
2 −→ 2 + 2 = 4 −→ 4 + 2 = 6
Karena 6%3 = 0 maka kpk(2, 3) = 6. Ya, kira-kira begitu. Lalu, untuk hasilnya kita
tinggal keluarkan nilai dari kpk(a, b)/a + kpk(a, b)/b

Diperbarui 11 Pebruari 2024 1 Wildan Bagus Wicaksono, Algoritma Pemograman I


dan programnya seperti ini;

#include <bits/stdc++.h>
using namespace std;

int kpk(int a, int b){


int c = a;
while(a%b > 0){
a += c;
}
return a;
}

int main(){

int N,A,B;
scanf("%d %d %d", &N, &A, &B);
int hasil = kpk(A,B)/A+ kpk(A,B)/B;
printf("%d", hasil);

Disclaimer! 1: p
cuma mau coba font C++ di LATEX

Diperbarui 11 Pebruari 2024 2 Wildan Bagus Wicaksono, Algoritma Pemograman I

Anda mungkin juga menyukai