इस विकिपीडिया लेख में कैंटर पेयरिंग फंक्शन का वर्णन किया गया है । अनिवार्य रूप से, यह एक ऐसा ऑपरेशन है कि जब इसे दो मूल्यों X और Y पर लागू किया जाता है, तो कोई भी मूल मान प्राप्त कर सकता है X और Y ने परिणाम दिया।
आपका काम दो कार्यों को डिजाइन करना है: एक जो प्रदर्शन करता है X, Y -> Z
और दूसरा जो प्रदर्शन करता है Z -> X, Y
। यहाँ पकड़ है: X, Y -> Z
कम्यूटेटिव होना चाहिए। इसका मतलब है कि Z -> X, Y
अगर इनपुट X, Y
या था यह निर्धारित करने में सक्षम नहीं होगा Y, X
।
इस चुनौती की औपचारिक परिभाषा यह होगी:
संख्याओं की एक गणना करने योग्य अनंत सेट चुनें।
निम्नलिखित कार्यों को करने वाले दो कार्यों को डिज़ाइन करें:
- S में मानों की अनियंत्रित जोड़ी को देखते हुए, S में मान लौटाते हैं
- प्रारंभिक फ़ंक्शन से वापसी मूल्य को देखते हुए, मानों की अनियंत्रित जोड़ी को लौटाएं जो पहले फ़ंक्शन से गुजरने पर इनपुट पूर्णांक का मूल्यांकन करता है। मैं इस उलटा फ़ंक्शन के व्यवहार के बारे में परवाह नहीं करता हूं यदि इनपुट पहले फ़ंक्शन से रिटर्न वैल्यू नहीं है।
आवश्यकताएँ
- परिणाम रन के बीच समान होना चाहिए।
{a, a}
एक अनियंत्रित जोड़ी है
नोट: यदि आप एक प्रमाण प्रदान करते हैं, तो आपके उत्तर से मेरे द्वारा अपवोट प्राप्त करने की अधिक संभावना है, लेकिन जब मैं इसे प्राप्त कर लूंगा और जब मैं इसे सुनिश्चित कर लूंगा, तो इसका उत्तर दूंगा।
1,2
जोड़े में से एक है, तो 1,3
क्या एक संभावित जोड़ी (दोनों का उपयोग 1
) भी हो सकती है ?
f
और उसके व्युत्क्रम g
, sorted((x, y))
एक ही रूप में होना चाहिएsorted(g(f(x, y)))