Bu zorluk için tamsayılara f ve g olarak iki fonksiyon uygulamanız gerekir ; öyle ki f ∘ g kesinlikle azalan bir fonksiyondur, g ∘ f ise kesinlikle artan bir fonksiyondur. Başka bir deyişle, iki tamsayı a <b alırsanız , o zaman f (g (a))> f (g (b)) ve g (f (a)) <g (f (b)) . Her biri bir tamsayıya bir tamsayıya eşlemek zorunda olmaları dışında , f ve g üzerinde bireysel olarak herhangi bir kısıtlama yoktur .
Lütfen f ve g'nin kısa bir açıklamasını ve neden gerekli özelliğe sahip olduklarına dair bir argüman ekleyin .
Kredi: Bu meydan okuma, 2011 Romanya Matematik Ustası yarışmasında (aynı şeyi soran ancak tamsayılar yerine gerçek sayılara ilişkin) bir sorundan ilham aldı. Eğer gerçekten spoiler istiyorsanız, şimdi ne arayacağınızı biliyorsunuz.
kurallar
Bu meydan okumadaki "fonksiyon" kelimesi, bir tamsayıyı diğerine eşleme matematiksel anlamında kullanılmalıdır: iki program veya iki fonksiyon yazabilir ve her zamanki gibi girdi alma ve çıktı sağlama standart yöntemlerinden herhangi birini kullanabilirsiniz . Gerçek tamsayı değişkenleri yerine tamsayıların dize temsillerini kullanabilirsiniz, ancak girdi ve çıktı türleri aynı olmalıdır, böylece işlevler arasında türleri elle dönüştürmeden oluşturulabilir. Kavramsal olarak, f ve g'nin functions işlevi olması gerektiğine dikkat edin, bu nedenle aynı sayının iki farklı dize gösterimini veya bunun gibi bir şey kullanarak hile yapamazsınız.
Unutmayın ki , isimleri kendi kendine veya tanımladığınız başka bir işlev için gerekli olmadıkça , işlevlerin adsız olabileceğini unutmayın . İşlevlerin birini veya her ikisini de isimlendirirseniz, aynı programda olduklarını varsayabilir, böylece uygulamalarında birbirlerine atıfta bulunabilirler (örneğin
def f(x): return -g(x)
Python'da).Her zamanki tamsayı taşması kuralları geçerlidir: çözümünüz, tüm tam sayıların varsayılan olarak sınırsız olduğu, ancak programınız uygulama nedeniyle uygulamada başarısız olursa, dilinizin varsayımsal (veya belki de gerçek) bir sürümünde rasgele büyük tam sayılarda çalışabilmelidir. Bu kadar büyük tamsayıları desteklememek, çözümü geçersiz kılmak değildir.
Herhangi bir programlama dilini kullanabilirsiniz , ancak bu boşlukların varsayılan olarak yasak olduğunu unutmayın .
Bu kod golf , yani puanınız her iki fonksiyonun bayt sayısının toplamıdır ve en kısa geçerli cevap kazanır.