Advertisement
Guest User

cek in

a guest
May 23rd, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. Hadiah 3
  2.  
  3. Batas Waktu 1 detik
  4. Batas Memori 16 MB
  5. 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.
  6.  
  7. 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.
  8.  
  9. Pak Dengklek yang ternyata juga kurang cerdas, meminta bantuan Anda untuk mencari tahu hadiah-hadiah mana yang sebenarnya bebek-bebek pilih.
  10.  
  11. Format Masukan
  12.  
  13. Baris pertama berisi sebuah bilangan bulat N.
  14.  
  15. Format Keluaran
  16.  
  17. 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.
  18.  
  19. Contoh Masukan
  20.  
  21. 279
  22. Contoh Keluaran
  23.  
  24. 3
  25. 9 27 243
  26.  
  27.  
  28.  
  29.  
  30. 29
  31. 30
  32. 31
  33. 32
  34. 33
  35. 34
  36. 35
  37. 36
  38. 37
  39. 38
  40. 39
  41. 40
  42. 41
  43. 42
  44. var
  45. i,j,m,n,r,temp,l:longint;
  46. a:array[0..1000000] of int64;
  47. b:array[1..200] of longint;
  48.  
  49. procedure olala(k:longint);
  50. begin
  51. temp:=1;
  52. while temp < n do
  53. begin
  54. inc(r);
  55. temp:=temp*3;
  56. a[r]:=temp;
  57. end;
  58. end;
  59.  
  60.  
  61. begin
  62. readln(n);
  63. a[0]:=1;
  64. olala(1);
  65.  
  66. if n> 0 then
  67. begin
  68. for i:=r downto 0 do
  69. begin
  70. while a[i] <= n do
  71. begin
  72. n:=n-a[i];
  73. inc(l);
  74. b[l]:=a[i];
  75. end;
  76. end;
  77. end;
  78.  
  79. writeln(l);
  80. for i:=l downto 1 do
  81. begin write(b[i],' '); end;
  82. writeln;
  83.  
  84. readln;
  85. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement