OSP 2012

Potongan program berikut ini merupakan pseudocode untuk soal nomor 49-50
var 
    i,j:longint;
begin
for j:=1 to 15 do
    for i:=1 to 16-j do
        if (i mod j=0) then writeln('*');
end.
  1. Jika program di atas dijalankan, maka banyaknya bintang yang akan ditampilkan ke layar adalah …

  2. Jika ‘16-j‘ diubah menjadi 16, maka banyaknya bintang yang akan ditampilkan ke layar adalah …


  1. Program akan mencetak ‘*’ jika i merupakan kelipatan dari j, di mana i akan berulang dari 1 sampai 16-j. Banyaknya ‘*’ yang tercetak adalah nilai i terbesar dibagi oleh j.

    Untuk j = 1, banyak bintang = (16-1)/1 = 15.
    Untuk j = 2, banyak bintang = (16-2)/2 = 7.
    Untuk j = 3, banyak bintang = (16-3)/3 = 4.
    Untuk j = 4, banyak bintang = (16-4)/4 = 3.
    Untuk j = 5, banyak bintang = (16-5)/5 = 2.
    Untuk j = 6, banyak bintang = (16-6)/6 = 1.
    Untuk j = 7, banyak bintang = (16-7)/7 = 1.
    Untuk j = 8, banyak bintang = (16-8)/8 = 1.
    Untuk nilai j yang berikutnya pasti tidak ada * yang tercetak karena nilai i maksimal < j. Sehingga total bintang yang tercetak adalah 15 + 7 + 4 + 3 + 2 + 1 + 1 + 1 = 34.

  2. Jika nilai i maksimal diubah menjadi 16, maka total bintang yang tercetak adalah:
    16/1 + 16/2 + 16/3 + 16/4 + 16/5 + 16/6 + 16/7 + 16/8 dan untuk j > 9 pasti hanya menghasilkan 1 bintang saja.
    = 16 + 8 + 5 + 4 + 3 + 2 + 2 + 2 + 7
    = 49.

Share Now:

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Langganan

Subscribe To Our Newsletter

0
Would love your thoughts, please comment.x
()
x

Follow TikTok Kami @cahinfor

Pembahasan soal tahun 2023 sudah tersedia di TikTok Kami loh!