Arsip: tebak-tebakan

 
user image
more 13 years ago

_aa_

ada sebuah cerita, di sebuah asrama yang memiliki seribu siswa, terdapat seribu loker (lemari) yang dinomori 1 s.d. 1000 untuk masing-masing siswa. - suatu pagi, datang siswa pertama membuka semua pintu loker tersebut. - kemudian datang siswa kedua yang menutup pintu loker dengan nomor genap. - siswa ketiga datang, menutup pintu loker dengan nomor loker kelipatan tiga kalau terbuka, tapi membukanya kalau pintu loker tersebut tertutup. - selanjutnya siswa keempat menyusul, melakukan hal yang sama dengan siswa sebelumnya, hanya kali ini untuk loker dengan nomor kelipatan empat. - lalu siswa kelima juga melakukan hal yang sama untuk loker dengan nomor kelipatan lima. - begitu seterusnya... sampai siswa terakhir yang ke-seribu. berapakah akhirnya jumlah pintu loker yang terbuka setelah semua siswa selesai melakukan hal konyol tersebut? bagaimana kalau siswa-nya ada sepuluh-ribu orang? (btw, jawaban harus berupa kode pascal).
user image
more 13 years ago

R-One


procedure TForm1.Button1Click(Sender: TObject);
var i,buka,a : integer;
  locker : array of boolean;
begin
    buka:=0;
    //murid pertama
    for i:=1 to 1000 do
    begin
      locker[i]:=true;
      inc(buka);
    end;
    //murid ke 2 sampai 1000
    for a:=2 to 1000 do
    begin
      for i:=1 to 1000 do
      begin
        if i mod a = 0 then
        begin
          if locker[i]=false then
          begin
            locker[i]:=true;
            inc(buka);
          end else
          begin
            locker[i]:=false;
            dec(buka);
          end;
        end;
      end;
    end;
    showmessage('Terbuka '+inttostr(buka));
end;
kl 10rb tinggal ganti aja 1000-nya gw dapat apa nih?? :D
user image
more 13 years ago

_lmz

tidak dites nih, di warnet gak ada pascal soalnya :)

var i, j, fc, count : integer; 
begin
  count := 0;
  for i := 1 to 1000 do begin
    fc := 0;
    for j := 1 to i do begin
      if i mod j = 0 then inc(fc);
    end;
    if odd(fc) then inc(count);
  end;
  writeln('yang terbuka: ', count);
end;
user image
more 13 years ago

mat_koder

lewat logika sederhana... ( belon dibuktikan pake kode .... cuman luar kepala aja..) no-no berikut ini pasti terbuka ( soalnya pada loker no tsb di lakukan operasi boolean NOT tiga kali (ganjil) , pertama oleh siswa no 1 , ledua oleh siswa no SQRT -nya dan ketiga oleh dirinya sendiri ). no - no yg laen mengalami operasi NOT genap kali ( yg berarti akan kembali menutup, karena awalnya semua pintu tertutup. 1 (=1x1) 4 (=2x2) 9 (=3x3) 25 (=5x5) 49 (=7x7) 121 (=11*11) .. nn (= prima x prima ) .. 961 (=31x31) mudah2an bener....
user image
more 13 years ago

_lmz

sebuah locker akan terbuka apabila jumlah faktor no. lockernya adalah ganjil. misal factor(1) -> [1] maka terbuka factor(2) -> [1,2] maka tertutup factor(3) -> [1, 3] maka tertutup factor(4) -> [1, 2, 4] maka terbuka dlsb. mencari di daftar online hasilnya: http://www.research.att.com/~njas/sequences/A000005 katanya: If a(n) is odd, n is a perfect square. ternyata yang dimaksud perfect square adalah apabila angka bisa ditulis dengan bentuk n^2 untuk n integer. berarti mat_koder menang dong :)

var i : integer; count : integer;
begin
  i := 1;
  count := 0;
  do     
    inc(count); inc(i);
  while i * i < 1000;
  writeln('jumlah: ', count);
end;
user image
more 13 years ago

cyber_hecker

sip, mat koder keren.. bener .. hasilnya emang 31 waktu ku coba pake for 1:=1 to 1000... :P
user image
more 13 years ago

R-One

waw..kode ku kepanjangan :( :(
user image
more 13 years ago

_aa_

ini sebetulnya soal klasik tentang akar kuadrat jawaban yang paling singkat adalah: trunc(sqrt(N)); :)
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com