"Asal kurbağa", 3 ya da 19'a gelene kadar tam sayılar arasında atlayan tuhaf bir hayvandır ...
Programınız bir tamsayıyı n
girdi olarak kabul etmeli ve aşağıdaki algoritmanın ( 3
veya 19
) sonucunu çıkarmalıdır .
Belirli bir tamsayı için n >= 2
:
f
Kurbağanın konumu olsun . Başlangıçta olarak ayarlanırn
- if
f = 3
veyaf = 19
: kurbağa sıçramayı durdurur - programı ve çıkışı durdururf
. - eğer
f
asal ise: kurbağa pozisyonuna atlar2×f-1
. 2. adıma geri dönün. - eğer
f
kompozit: letd
olmakf
'nin en büyük asal bölen. Kurbağa pozisyona atlarf-d
. 2. adıma geri dönün.
Örnekler:
Bir örnek n = 5
:
5 > 9 > 6 > 3 stop
Program çıktı vermeli 3
.
Başka bir örnek n = 23
:
23 > 45 > 40 > 35 > 28 > 21 > 14 > 7 > 13 > 25 > 20 > 15 > 10 > 5 > 9 > 6 > 3 stop
Yine programın çıktısı alınmalı 3
.
Test durumları:
10 => 3
74 => 19
94 => 3
417 => 3
991 => 19
9983 => 19
Varsayın 1 < n < 1000000
(bu değerler için programın sonunu kontrol ettim).
3
ya da kanıtlayamazsak, kurbağanın 19
herhangi bir döngüye girmişse (daha önce gördüğü bir pozisyonla karşılaştıysa), öğeyi değiştirebiliriz, algoritmadaki 2. maddeyi değiştirebiliriz. bu döngünün üyesi.