Andaikan kita mempunyai nombor n. Kami sewenang-wenangnya melakukan salah satu daripada operasi ini -
Apabila n boleh dibahagi dengan 2, gantikan n dengan n/2
Apabila n boleh dibahagi dengan 3, ganti n dengan 2n/3
dengan 5, gantikan n dengan 4n/5
li>Kita perlu mengira bilangan minimum pergerakan yang diperlukan untuk nombor 1. Jika tidak boleh, -1 dikembalikan.
Jadi jika input adalah seperti n = 10, output akan menjadi 4 kerana menggunakan n/2 mendapat 5, kemudian 4n/5 mendapat 4, kemudian n/2 sekali lagi mendapat 2, dan n/2 sekali lagi mendapat 1. .
Atas ialah kandungan terperinci Program C++ untuk mengira bilangan operasi minimum yang diperlukan untuk menukar nombor n kepada 1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!