Diberikan program sebagai berikut, ada berapa banyak elemen pada array tersebut yang bernilai true jika pada awalnya seluruh array bernilai false?
var ar : array[1..1000] of Boolean; i,j : integer; begin for i := 1 to 1000 do ar[i] := false; for i := 1 to 1000 do begin j := i; while(j <= 1000) do begin ar[j] := not(ar[j]); j := j + i; end; end; end.
"I think, therefore I am." -Descartes
Programnya nyari berapa banyak bilangan kuadrat dari 1 sampe 1000
Kenapa bisa gitu, sifat bilangan kuadrat itu sendiri kan punya faktor ganjil. Contoh : 4=1,2,4 25=1,5,25 36=1,2,3,4,6,9,12,18,36
Yaudah, bilangan kuadrat dari 1 sampe 1000 ada 31
"I think, therefore I am." -Descartes
Kan ngitung faktornya juga ngitung 1 -_-.
Ambil contoh f[25]
awal f[25]=false;
i=1--->jadi true
i=5-->jadi false;
i=25->jadi true;
ah gabaca jumlah array yg diminta yang bernilai true. sial
Masuk untuk menulis jawaban
Tapi kan di program itu saat i=1 sama dengan merubah semua array menjadi true.
jadi menurut saya jadi kebalikannya, berapa banyak bilangan bukan kuadrat 1 sampai 1000.
1000-31 = 969