Giriş
Bu mücadelede, pozitif tamsayıların belirli bir sıralamasıyla ilgileneceğiz. Sipariş şu şekilde gider:
3, 5, 7, 9, 11, ...
2*3, 2*5, 2*7, 2*9, 2*11, ...
4*3, 4*5, 4*7, 4*9, 4*11, ...
8*3, 8*5, 8*7, 8*9, 8*11, ...
16*3, 16*5, 16*7, 16*9, 16*11, ...
...
... 64, 32, 16, 8, 4, 2, 1
İlk önce 1'den büyük tüm tuhaf tamsayıları artan düzende sıralıyoruz. Daha sonra 1'den büyük iki tam sayı, daha sonra 4 kat, sonra 8 kat vb. Listeleriz : tüm k için , artan sırayla 2 k kat tek tamsayıları 1'den büyük olarak listeleriz . Son olarak, ikisinin güçlerini azalan düzende sıralayarak, 1'den bitiyoruz. Her pozitif tamsayı tam olarak bir kez bu "listede" meydana geliyor.
Daha açık bir şekilde, A = n · 2 p ve B = m · 2 q olan iki ayrı pozitif tamsayıyı düşünün , burada n, m ≥ 1 tek ve p, q ≥ 0 olur . Ardından , aşağıdaki koşullardan birinin geçerli olması durumunda, sipariş sırasında A , B'den önce gelir :
- n> 1 , m> 1 ve p <q
- 1 <n <m ve p = q
- n> m = 1
- n = m = 1 ve p> q
Bu sıralama , dinamik sistemlerin periyodik noktalarını ilgilendiren Sharkovskii teoremi olarak bilinen şaşırtıcı matematiksel sonuçta ortaya çıkıyor . Buradaki ayrıntılara girmeyeceğim.
Görev
Bu zorluktaki göreviniz yukarıdaki sıralamayı hesaplamak. Girişleriniz, eşit olabilen iki pozitif ve A ve B tamsayılarıdır . Eğer siparişte A , B den önce gelirse , aksi takdirde sahte bir değer gelirse, çıktınız bir gerçek değerdir. Eğer A = B , çıktı truthy olmalıdır. Tutarlı olduğunuz sürece A ve B'yi her iki sırada da alabilirsiniz .
Tamsayı taşması konusunda endişelenmenize gerek yoktur, ancak algoritmanızın keyfi olarak büyük girdiler için teorik olarak çalışması gerekir.
Test durumları
Truthy örnekleri
3 11
9 6
48 112
49 112
158 158
36 24
14 28
144 32
32 32
32 8
3 1
1 1
Sahte örnekler
1 2
1 5
11 5
20 25
2 8
256 255
256 257
72 52
2176 1216
2176 2496
a&1|~b&1&f(a/2,b/2)
mı?