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.
-
Jika program di atas dijalankan, maka banyaknya bintang yang akan ditampilkan ke layar adalah …
-
Jika ‘
16-j
‘ diubah menjadi16
, maka banyaknya bintang yang akan ditampilkan ke layar adalah …
-
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. -
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.