मोडुलो ऑपरेशन ( ) का ग्राफ कुछ इस प्रकार है:
यह एक बहुत ही उपयोगी कार्य है, क्योंकि यह हमें "रैपिंग" व्यवहार बनाने की अनुमति देता है। हालांकि, यह बहुत बोझिल है जब मैं इसे दो दीवारों के बीच "उछल" की उपस्थिति बनाने के लिए उपयोग करना चाहता हूं। "बाउंस" फ़ंक्शन ( ) का ग्राफ कुछ इस तरह दिखता है:
अवधि के ग्राफ के है । के ग्राफ की अवधि है , क्योंकि इसके लिए ऊपर की तरफ ले जाता है इकाइयों, और फिर एक और के लिए नीचे की ओर ले जाता है इकाइयों, जहां यह शुरू कर दिया पर लौटने से पहले। दोनों कार्यों के लिए, लिए न्यूनतम मान 0 है, और अधिकतम (वास्तव में, अभिन्न इनपुट के साथ मापांक फ़ंक्शन के लिए, यह )। इसके अलावा, दोनों कार्यों के लिए, मान जहाँ है।कश्मीर y = उछाल ( एक्स , कश्मीर ) 2 कश्मीर कश्मीर कश्मीर y कश्मीर कश्मीर - 1 एक्स = 0
चुनौती
पूर्णांक और धनात्मक पूर्णांक को देखते हुए , पूर्णांक या फ्लोटिंग-पॉइंट सन्निकटन लौटाते हैं ।k y = bounce ( x , k )
यह कोड-गोल्फ है , इसलिए सबसे कम वैध जमा (बाइट्स में गिना जाता है) जीतता है।
परीक्षण के मामलों
x, k -> bounce(x, k)
0, 14 -> 0
3, 7 -> 3
14, 14 -> 14
15, 14 -> 13
-13, 14 -> 13 (12.999997 etc would be an acceptable answer)
-14, 14 -> 14
191, 8 -> 1
192, 8 -> 0
k % k = 0
k
।