"Katak utama" adalah hewan aneh yang melompat di antara bilangan bulat, sampai tiba pada 3 atau 19 ...
Program Anda harus menerima bilangan bulat nsebagai input dan output hasil dari algoritma di bawah ini ( 3atau 19).
Untuk bilangan bulat yang diberikan n >= 2:
- Biarlah
fposisi katak. Awalnya diatur ken - jika
f = 3atauf = 19: katak berhenti melompat - hentikan program dan outputf. - if
fis prime: katak melompat ke posisi2×f-1. Kembali ke langkah 2. - jika
fkomposit: maridmenjadifpembagi utama terbesar. Katak melompat ke posisif-d. Kembali ke langkah 2.
Contoh:
Contoh dengan n = 5:
5 > 9 > 6 > 3 stop
Program harus menampilkan 3.
Contoh lain dengan n = 23:
23 > 45 > 40 > 35 > 28 > 21 > 14 > 7 > 13 > 25 > 20 > 15 > 10 > 5 > 9 > 6 > 3 stop
Sekali lagi, program harus menampilkan 3.
Kasus uji:
10 => 3
74 => 19
94 => 3
417 => 3
991 => 19
9983 => 19
Anda dapat mengasumsikan 1 < n < 1000000(saya telah memeriksa akhir program untuk nilai-nilai ini).
3atau 19, kita dapat mengubah item 2. dalam algoritma untuk mengatakan bahwa jika katak telah memasuki loop apa pun (menemukan posisi yang telah dilihatnya sebelumnya), maka ia berhenti melompat dan mengembalikan yang terkecil. anggota dari loop itu.
