Menengah30 XPUnit 4: Perulangan, soal 9 dari 10

Barisan Collatz

Ikuti aturan Collatz sampai bilangannya menjadi 1.

Ambil bilangan bulat positif. Bila genap, bagi dua. Bila ganjil, kalikan tiga lalu tambah satu. Ulangi terus. Sampai sekarang belum ada yang bisa membuktikan bahwa setiap bilangan pasti berakhir di 1, tetapi semua bilangan yang pernah dicoba komputer ternyata sampai juga.

Masukan

Satu bilangan bulat N dari 1 sampai 100000.

Keluaran

Dua baris. Baris pertama berisi seluruh barisan dari N sampai 1, dipisah spasi. Baris kedua berisi Banyak langkah: K, yaitu berapa kali aturan dijalankan sampai mencapai 1.

Contoh masukan dan keluaran

  1. Contoh 1

    Masukan

    6

    Keluaran

    6 3 10 5 16 8 4 2 1
    Banyak langkah: 8

Petunjuk

Coba kerjakan dulu. Buka petunjuk satu per satu kalau kamu buntu.

Petunjuk 1

Perulangan while cocok untuk soal yang tidak diketahui berapa kali harus diulang.

Petunjuk 2

Simpan setiap bilangan ke list, lalu cetak list itu sekali di akhir. Banyak langkah sama dengan panjang list dikurangi satu.

Pelajari dulu konsepnyaPerulangan for dan whilePython untuk Pemula

Soal lain di unit Perulangan

Soal berikutnya: Menabung sampai Target

Latih logika sedikit setiap hari

Ada soal harian dengan XP ganda dan liga mingguan yang dimulai dari nol setiap Senin.

Lihat semua tantangan