Kuis(Style TLX) Guling -> Deskripsi Diberikan n buah bilangan yang

Berikut ini adalah pertanyaan dari kelvinho018527 pada mata pelajaran TI untuk jenjang Sekolah Menengah Pertama

Kuis(Style TLX)
Guling
-> Deskripsi
Diberikan n buah bilangan yang menyatakan banyak guling. Misalkan Pn menyatakan panjang dari guling ke-n. Pak Dengklek ingin membeli 3 guling yang jumlah panjangnya lebih dari k cm. Pak Dengklek pun ingin mengetahui berapa banyak kemungkinan guling yang memenuhi.

-> Format Masukan
Baris pertama berisi nilai n.
Baris kedua berisi nilai k.
Baris selanjutnya berisi panjang masing-masing guling.
-> Format Keluaran
Sebuah baris yang berisi banyaknya kemungkinan memilih guling yang memenuhi.
-> Contoh Masukan
5
100
45
12
33
26
40
-> Contoh Keluaran
3
Penjelasan:
Terdapat 3 kemungkinan yang memenuhi, yaitu:
40 + 33 + 45= 118
33 + 26 + 45= 104
40 + 26 + 45= 111
Batasan:
1. 3<= n<=13
2. k<= 1.000.000
3. Setiap guling memiliki panjang kurang dari 1.000.000 cm.
4. Tidak ada 2 guling yang memiliki panjang yang sama.

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Penjelasan:

#python user

n = int(input())

k = int(input())

lengths = []

for i in range(n):

   lengths.append(int(input()))

count = 0

for i in range(n):

   for j in range(i+1, n):

       for l in range(j+1, n):

           if (lengths[i] + lengths[j] + lengths[l]) > k:

               count += 1

print(count)

Penjelasan:

Pertama-tama, kita membaca masukan berupa nilai n dan k dari input.

Kemudian, kita membaca nilai panjang masing-masing guling dan menyimpannya ke dalam sebuah list bernama `lengths`.

Selanjutnya, kita menggunakan tiga perulangan bersarang untuk menghitung banyaknya kemungkinan memilih 3 guling yang jumlah panjangnya lebih dari k cm. Kita menggunakan tiga indeks` i`, `j`, dan `1` untuk menunjukkan tiga guling yang akan dipilih.

Setiap kali tiga guling tersebut dipilih, kita memeriksa apakah jumlah panjang ketiga guling tersebut lebih dari k. Jika ya, maka kita menambahkan 1 ke variabel `count`.

Akhirnya, kita mencetak nilai `count` sebagai keluaran.

Catatan: Solusi ini memiliki kompleksitas waktu O(n^3), sehingga mungkin tidak efisien untuk masukan yang sangat besar.

#penjelasan lebih rinci mengenai cara penyelesaian masalah ini:

1. Membaca masukan:

Pertama-tama, kita harus membaca masukan yang diberikan. Masukan tersebut terdiri dari nilai n (jumlah guling), nilai k (jumlah panjang minimal yang dibutuhkan), dan nilai panjang masing-masing guling.

2. Membuat kombinasi:

Setelah membaca masukan, kita perlu membuat kombinasi dari 3 guling yang ada. Untuk melakukan ini, kita bisa menggunakan konsep kombinasi matematika. Dalam kombinasi matematika, rumus yang digunakan adalah sebagai berikut:

C(n,r) = n! / (r! * (n-r)!)

Dimana C(n,r) adalah kombinasi dari n objek yang dipilih r objek, n! adalah faktorial dari n (n x (n-1) x (n-2) x ... x 2 x 1), r! adalah faktorial dari r, dan (n-r)! adalah faktorial dari n-r.

Untuk kasus ini, kita perlu membuat kombinasi dari 3 guling, sehingga r = 3. Kita juga sudah mengetahui nilai n (jumlah guling), sehingga kita dapat menggunakan rumus tersebut untuk mencari jumlah kombinasi dari n objek yang dipilih 3 objek.

3. Menjumlahkan panjang guling:

Setelah membuat kombinasi dari 3 guling yang ada, kita perlu menjumlahkan panjang dari masing-masing kombinasi tersebut. Jika jumlah panjang tersebut lebih besar dari nilai k, maka kombinasi tersebut memenuhi syarat dan kita dapat menambahkan jumlah kemungkinan.

4. Menampilkan hasil:

Setelah melakukan langkah-langkah di atas, kita dapat menampilkan jumlah kemungkinan guling yang memenuhi syarat.

Demikianlah penjelasan mengenai cara menyelesaikan masalah tersebut. Semoga dapat membantu!

cmiiw

Semoga dengan pertanyaan yang sudah terjawab oleh BocilKurniawan dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke www.yomemimo.com melalui halaman Contact

Last Update: Wed, 12 Jul 23