Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Hadiah 3
- Batas Waktu 1 detik
- Batas Memori 16 MB
- Hasil telur dari bebek-bebek Pak Dengklek musim ini lebih memuaskan lagi! Oleh karena itu Pak Dengklek hendak memberikan hadiah lagi kepada bebek-bebeknya. Pak Dengklek sudah meyiapkan banyak sekali hadiah yang masing-masing bernomor 3^0, 3^1, 3^2, 3^3, dan seterusnya untuk bebek-bebeknya.
- Bebek-bebek yang mulai jengkel dengan aturan hadiah yang rumit dari Pak Dengklek, tidak mau kalah, kali ini mereka menyiapkan pembalasan. Bebek-bebek setelah menentukan pilihan, tidak langsung mengatakan kepada Pak Dengklek hadiah yang mereka pilih, mereka berdiskusi dahulu lalu menyimpulkan bahwa mereka hanya akan memberi tahu Pak Dengklek jumlah dari nomor-nomor hadiah yang mereka pilih berupa bilangan N (1 ≤ N ≤ 1.000.000.000). Kemudian, Pak Dengklek harus mengambilkan hadiah untuk mereka yang tentunya jumlahnya harus sama dengan jumlah yang bebek-bebek telah beritahukan.
- Pak Dengklek yang ternyata juga kurang cerdas, meminta bantuan Anda untuk mencari tahu hadiah-hadiah mana yang sebenarnya bebek-bebek pilih.
- Format Masukan
- Baris pertama berisi sebuah bilangan bulat N.
- Format Keluaran
- Baris pertama berisi sebuah bilangan bulat M, banyaknya bebek minimum yang memilih hadiah. Baris kedua berisi M buah bilangan bulat, nomor-nomor hadiah yang bebek pilih berurut dari kecil ke besar, masing-masing dipisahkan oleh sebuah spasi.
- Contoh Masukan
- 279
- Contoh Keluaran
- 3
- 9 27 243
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- var
- i,j,m,n,r,temp,l:longint;
- a:array[0..1000000] of int64;
- b:array[1..200] of longint;
- procedure olala(k:longint);
- begin
- temp:=1;
- while temp < n do
- begin
- inc(r);
- temp:=temp*3;
- a[r]:=temp;
- end;
- end;
- begin
- readln(n);
- a[0]:=1;
- olala(1);
- if n> 0 then
- begin
- for i:=r downto 0 do
- begin
- while a[i] <= n do
- begin
- n:=n-a[i];
- inc(l);
- b[l]:=a[i];
- end;
- end;
- end;
- writeln(l);
- for i:=l downto 1 do
- begin write(b[i],' '); end;
- writeln;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement