OSP 2012

Potongan program berikut ini merupakan pseudocode untuk soal nomor 45-48
function func(x:integer):integer;
var
    i : integer;
    b : boolean;
begin
    b:= true;
    i := 1;
    while b=true do
    begin 
        if (x mod i) <> 0 then
        begin
            func := i;
            b:=false;
        end;
        inc(i);
    end;
end;
  1. Tentukan nilai dari func(4620).

  2. Tentukan nilai x positif terkecil di mana func(x) = 11.

  3. Tentukan bilangan x positif terkecil ke-11 di mana func(x) = 11.

  4. Dengan mengasumsikan tipe integer adalah tipe bilangan bulat yang tidak memiliki batasan, berikan sepuluh nilai x positif terkecil di mana tidak ada angka positif y sehingga func(y) = x.


    Program akan terus berada pada perulangan sampai x mod i <> 0, artinya sampai menemukan bahwa i bukan faktor dari x. Jika i bukan faktor dari x, maka fungsi akan bernilai i.

  1. Untuk func(4620):
    4620 dapat dibagi oleh 1,2,3,4,5,6 dan 7 namun tidak dapat dibagi oleh 8. Sehingga nilai dari func(4620) adalah 8.

  2. Jika hasil dari fungsi adalah 11, maka x dapat dibagi oleh 1,2,3,4 sampai 10. Artinya bilangan itu adalah KPK dari 10 bilangan tersebut. Bilangan 1-10 dapat ditulis dengan:
    1, 2, 3, 22, 5, 2×3, 7, 23, 32, 2×5.
    Sehingga didapat KPK sepuluh bilangan itu adalah 23 x 32 x 5 x 7 = 2520.

  3. Bilangan ke-11 yang dimaksud haruslah merupakan kelipatan KPK(1,2,..10) namun bukan kelipatan 11.
    Bilangan terkecil yang memenuhi adalah 2520. Berikutnya 2*2520, 3*2520, 4*2520 dan seterusnya sampai 10*2520. Karena 11*2520 dapat dibagi dengan 11, maka gunakan bilangan berikutnya, yaitu 12*2520 = 30240.

  4. func(y) = x apabila x adalah bilangan terkecil yang bukan merupakan faktor dari y dan y merupakan KPK dari 1,2,…,x-1. Sehingga bilangan yang tidak mungkin muncul adalah bilangan yang dapat membagi KPK(1,2,…,x-1). Oleh karena itu x haruslah merupakan KPK dari minimal dua bilangan daru 1 sampai x-1 dan x ≤ KPK(1,2,…,x-1).

    Dalam pengecualian, 1 masuk ke bilangan yang dimaksud karena 1 bisa membagi semua bilangan. Kemudian jika dituliskan 10 bilangan dalam faktorisasi prima akan menjadi:
    1, 2, 3, 22, 5, 2×3, 7, 23, 32, 2×5.
    Terlihat bahwa 6 dan 10 merupakan KPK (atau hasil perkalian) dari bilangan yang lebih kecil yang menyebabkan 6 dan 10 dapat membagi KPK dari semua bilangan terkecil. Oleh karena itu 6 dan 10 masuk bilangan yang dimaksud.

    Dengan mengkombinasikan KPK dari 2 bilangan dari barisan tersebut, didapat KPK:
    3 dan 22 atau 2 dan 2×3 = 12
    2 dan 7 = 14
    3 dan 5 = 15
    3 dan 2×3 atau 2 dan 32= 18
    2 dan 2×5 = 20
    3 dan 7 = 21
    2 dan 11 = 22

    Dengan demikian bilangan-bilangan x yang memenuhi adalah 1, 6, 10, 12, 14, 15, 18, 20, 21, 22.

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!