









Dear Kanjeng Pembaca sekalian,… berikutnya ada case yang cukup menarik… dimana ada sekumpulan kelerang (variable M),… kemudian terdapat 2 orang pemain yaitu Bahresi dan Abeng … dan Bahresi selalu yang menjadi giliran pertama untuk membuang kelereng …!!! Maksimal yang bisa dibuang oleh setiap peserta adalah n kelereng …!!! Lebih detilnya soal nya adalah sbb :
Pertama yang harus dilakukan adalah validasi … monggo dilihat diatas batasan … kalau memenuhi constraints diatas baru diproses kalau tidak bisa dicetak “Data Invalid” …!!! Berikutnya kalau valid adalah diproses … logiknya sebenernya simple … kita harus fokus pada sisa kelereng … yaitu m – n …!!! Mengapa …??? Karena sisa kelereng ini yang akan dimainkan… anggap saja masing-masing membuang 1 kelereng… maka jika sisa dibagi 2 (siklus 2 pemain red.) dan bersisa 0 … berarti yang menang adalah Bahresi (karena Bahresi bisa melakukan giliran terakhir dengan membuang n kelereng) …!!!
Sebagai contoh … dimasukkan variable m = 5 dan variable n = 3 … so disini sisa = 5 – 3 = 2 ….!!! Jadi sisa % 2 = 2 % 2 = 0 … Jika sisa == 0, maka yang menang adalah “Bahresi” else cetak “Abeng” …!!! So sebenernya soal ini simple … kalau penjelasan dan logiknya masuk … naaagh gimana program nya …??? berikut program nya … 😀
#include <stdio.h>int main(){int m, n;int sisa;scanf(“%d %d”, &m, &n);// validasi input duluif (m >= 1 && m <= 1000000000 && n >= 2 && n <= 1000000){sisa = m – n;if (sisa % 2 == 0){printf(“Bahresi \n”);}else{printf(“Abeng \n”);}}else{printf(“Data invalid \n”);}return 0;}
Setelah di compile dan dijalankan… terlihat hasil yang dikeluarkan sama persis sebagaimana kita bahas … 😀
Demikian pembahasan soal nya .. .dan sebenernya jika pemaparan soal nya clear … dan gak membingungkan… tentu akan lebih mudah dalam membikin logiknya …!!! Last,… memang perlu latihan yang banyak untuk dapat memahami soal yang diberikan … !!! Ciaoo 😀
Leave a Reply