किसी फ़ंक्शन को लंबाई n का एक चक्र कहा जाता है यदि उसके डोमेन में कोई x मौजूद है जैसे कि f n (x) = x और f m (x) for x के लिए 0 <m <n , जहां सुपरस्क्रिप्ट n को n निरूपित करता है - f का अनुप्रयोग । ध्यान दें कि लंबाई 1 का चक्र निश्चित बिंदु f (x) = x है ।
आपका कार्य पूर्णांक से स्वयं के लिए एक विशेषण फ़ंक्शन को लागू करना है, जिसमें हर सकारात्मक लंबाई n का एक चक्र होता है । एक विशेषण फ़ंक्शन एक-से-एक पत्राचार है, यानी हर पूर्णांक एक बार में एक बार मैप किया जाता है। लंबाई के ठीक एक चक्र के बाद एन का अर्थ है कि वास्तव में हैं कि n विशिष्ट संख्या x जिसके लिए च n (x) = एक्स और च मीटर (एक्स) ≠ एक्स के लिए 0 <मीटर <n ।
यहाँ इस तरह के एक समारोह x = 0 के आसपास की तरह लग सकता है का एक उदाहरण है :
x ... -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 ...
f(x) ... 2 4 6 -3 -1 1 -4 0 -2 5 7 -7 -6 3 -5 ...
इस अंश में 1 से 5 की लंबाई के चक्र हैं :
n cycle
1 0
2 -2 1
3 -4 -3 -1
4 -5 6 3 7
5 -7 2 5 -6 4
...
ध्यान दें कि ऊपर मैं केवल गणितीय अर्थों में "फ़ंक्शन" का उपयोग कर रहा हूं। आप अपनी पसंद की भाषा में एक फ़ंक्शन या पूर्ण कार्यक्रम लिख सकते हैं, जब तक कि यह एक एकल (हस्ताक्षरित) पूर्णांक को इनपुट के रूप में लेता है और एकल (हस्ताक्षरित) पूर्णांक देता है। हमेशा की तरह आप STDIN, कमांड लाइन तर्क, फ़ंक्शन तर्क आदि और आउटपुट STDOUT, फ़ंक्शन रिटर्न मान या फ़ंक्शन (आउट) तर्क आदि के माध्यम से ले सकते हैं।
बेशक, कई भाषाएं (आसानी से) मनमाने ढंग से सटीक पूर्णांक का समर्थन नहीं करती हैं। यह ठीक है यदि आपका कार्यान्वयन केवल आपकी भाषा के मूल पूर्णांक प्रकार की सीमा पर काम करता है, जब तक कि वह कम से कम सीमा [-127, 127] को कवर करता है और यह कि यह मध्यस्थ के पूर्णांक के लिए काम करेगा यदि भाषा के पूर्णांक प्रकार को मनमाने ढंग से प्रतिस्थापित किया गया था सटीक पूर्णांक।
मानक कोड-गोल्फ नियम लागू होते हैं।