Jadi, mingu kemarin saya dapat tugas Pemrograman dari dosen, seputar algotirma
3n+1. gini ni, soal lengkapnya :
Masalah 3n + 1
Deskripsi
Dalam masalah 3n+1, Anda diminta menganalisis sifat-sifat statu algoritma untuk suatu input yang diberikan.
Perhatikan algoritma berikut ini:
- input n
- print n
- if n = 1 then STOP
- if n ganjil then n = 3n+1
- else n = n/2
- GOTO 2
Diberikan input 22, barisan bilangan-bilangan berikut akan dicetak:
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
Menurut dugaan algoritma di atas akan berhenti ketika angka 1 dicetak untuk sebarang bilangan bulat (integer) yang diinputkan. Meskipun algoritma di atas cukup sederhana, tidak diketahui apakah dugaan ini benar. Telah diverifikasi bahwa untuk semua bilangan bulat n sehingga 0<n<1,000,000 dugaan tersebut benar adanya. Jika diberikan input n, adalah mungkin untuk menentukan jumlah angka tercetak (termasuk 1). Jumlah angka tercetak ini disebut panjang siklus dari n. Dalam contoh di atas, panjang siklus dari 22 adalah 16 . Dalam tugas ini, untuk setiap dua bilangan i dan j, Anda diminta untuk menentukan panjang siklus maksimum dari semua bilangan di antara i dan j.
Masukan
Input akan terdiri dari pasangan bilangan bulat (integer) i dan j. Semua bilangan bulat akan kurang dari 1.000.000 dan lebih besar dari 0. Anda harus memproses semua pasangan bilangan bulat dan untuk menentukan panjang siklus maksimum dari semua bilangan bulat antara dan termasuk i dan j.
Keluaran
Untuk setiap pasangan integer masukan i dan j, Anda harus mencetak keluaran i, j, dan panjang siklus maksimum untuk integer di antara dan termasuk i dan j. Ketiga angka harus dipisahkan oleh satu spasi dengan kesemua tiga angka tersebut dalam satu baris. Bilangan bulat i dan j harus muncul dalam keluaran dalam urutan yang sama di mana mereka muncul dalam masukan dan harus diikuti dengan panjang siklus maksimum (pada baris yang sama).
Contoh Masukan Contoh Keluaran
1 10 1 10 20
100 200 100 200 125
201 210 201 210 89
900 1000 900 1000 174
Begitulah kira-kira tugasnya,,, ada yang mau membantu saya mengerjakan tugas distas ???
Bagi yang ingin jawabannya, silahkan ditunggu saja postingan saya selanjutnya...
Komentar
Posting Komentar