আমার Precalc শিক্ষক তার প্রিয় সমস্যার যে, তিনি গঠিত (বা আরো সম্ভবত অন্যতম চুরি করে দ্বারা অনুপ্রাণিত xkcd যে একটি সারিতে জড়িত থাকে) n
urinals। "চেকমেট" এমন একটি পরিস্থিতি যেখানে প্রতিটি মূত্র ইতিমধ্যে দখল করা থাকে বা তাদের পাশেই একটি দখলযুক্ত ইউরিনাল থাকে। উদাহরণস্বরূপ, যদি কোনও ব্যক্তি একটি হয় X
তবে
X-X--X
চেকমেট হিসাবে বিবেচিত হয়। মনে রাখবেন যে ইতিমধ্যে অধিগ্রহণ করা মূত্রের পাশে কোনও ব্যক্তি ইউরিনাল দখল করতে পারবেন না।
কার্য
আপনার প্রোগ্রামটি stdin
কমান্ড লাইন আরগস বা কোনও ফাংশন আর্গুমেন্টের মাধ্যমে একটি সংখ্যা নেবে । আপনার প্রোগ্রামটি তখন মুদ্রণ করবে বা প্রস্রাবের ইনপুটযুক্ত সংখ্যার সাথে চেকমেট যেভাবে আসতে পারে তার সংখ্যাটি ফিরিয়ে দেবে।
উদাহরণ
0 -> 1
(বাজিমাত যেমন নাল ক্ষেত্রে গনণা করা হয়)
1 -> 1
( X
)
2 -> 2
( X-
বা -X
)
3 -> 2
( X-X
বা -X-
)
4 -> 3
( X-X-
, -X-X
, অথবা X--X
)
5 -> 4
( X-X-X
, X--X-
, -X-X-
, অথবা -X--X
)
6 -> 5
( X-X-X-
, X--X-X
, X-X--X
, -X--X-
বা -X-X-X
)
7 -> 7
( X-X-X-X
, X--X-X-
, -X-X--X
, -X--X-X
, X-X--X-
, X--X--X
বা -X-X-X-
)
8 -> 9
( -X--X--X
, -X--X-X-
, -X-X--X-
, -X-X-X-X
, X--X--X-
, X--X-X-X
, X-X--X-X
, X-X-X--X
, X-X-X-X-
)
...
স্কোরিং
বাইটের মধ্যে ক্ষুদ্রতম প্রোগ্রামটি জিতল।
''
। এটি ফ্যাকটোরিয়াল এবং ক্রমানুসারে একই, 0! = 1, কারণ 0 টি আইটেম সাজানোর ঠিক 1 উপায় রয়েছে।