কোনও ফাংশন (বা প্রোগ্রাম) যা ইনপুট নেয় এবং আউটপুট সরবরাহ করে তাকে চক্র বলে বলা যেতে পারে যদি বার বার তার নিজের আউটপুটে ফাংশনটি কল করে অবশেষে আসল সংখ্যায় পৌঁছায়। উদাহরণস্বরূপ, নিম্নলিখিত ফাংশনটি গ্রহণ করুন:
Input: n 1 2 3 4 5 6
Output: f(n) 5 7 1 3 4 9
আমরা শুরু করেন n=1
, f(n)=5
, f(f(n))=f(5)=4
, f(f(f(n)))=f(4)=3
, f(f(f(f(n))))=f(3)=1
।
এই লেখা আছে (1 5 4 3)
। যেহেতু এই লুপটিতে 4 টি স্বতন্ত্র সংখ্যা রয়েছে তাই এটি দৈর্ঘ্যের একটি চক্র।
আপনার চ্যালেঞ্জটি হ'ল এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যাতে প্রতিটি সম্ভাব্য দৈর্ঘ্যের চক্র থাকে। অর্থাৎ, দৈর্ঘ্য 1, দৈর্ঘ্য 2 এবং এর মতো আরও একটি চক্র থাকতে হবে।
তদুপরি, আপনার ফাংশন / প্রোগ্রামটি অবশ্যই ইতিবাচক পূর্ণসংখ্যার থেকে ধনাত্মক পূর্ণ সংখ্যার হতে হবে এবং এটি অবশ্যই দ্বিদ্বিপদী হতে হবে অর্থাত্ সমস্ত ধনাত্মক পূর্ণসংখ্যার চেয়ে প্রতিটি সম্ভাব্য আউটপুট মানের জন্য অবশ্যই একটি ইনপুট মান থাকতে হবে। এটিকে অন্য কোনও উপায়ে রাখতে, ফাংশন / প্রোগ্রামকে অবশ্যই ইতিবাচক পূর্ণসংখ্যার একটি অনুচ্ছেদ গণনা করতে হবে।
বিশদ: STDIN, STDOUT, ফাংশন আর্গুমেন্ট, রিটার্ন ইত্যাদি সহ যে কোনও স্ট্যান্ডার্ড ইনপুট / আউটপুট সিস্টেমের অনুমতি রয়েছে স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
আপনার ডেটা ধরণের সীমাবদ্ধতা সম্পর্কে আপনাকে চিন্তা করার দরকার নেই - উদাহরণস্বরূপ, উপরের বৈশিষ্ট্যগুলির কেবলমাত্র একটি int
বা float
কোনও মান রাখতে পারে এমন অনুমানের অধীনে থাকা দরকার ।
ইতিবাচক পূর্ণসংখ্যার নয় এমন ইনপুটগুলিতে ফাংশনটির আচরণে কোনও বিধিনিষেধ নেই এবং সেই ইনপুট / আউটপুটগুলি উপেক্ষা করা হবে।
স্কোরিং হ'ল কোড গল্ফ বাইটস, সংক্ষিপ্ততম কোড জয়।