ম্যাথেমেনিয়া স্পেস:
ম্যাথেমেনিয়া কোডের প্রতিটি টুকরোটি নম্বর দিয়ে শুরু হয় 2
। থেকে 2
, আপনি নিম্নলিখিত ক্রিয়াকলাপগুলি করতে পারেন:
e
: এক্সপেনশনেশন। এই কমান্ডের ডিফল্ট নম্বরটি স্কোয়ার করছে।f
: কারখানা। এই কমান্ডের ডিফল্টটি (using f on 2 = 2! = 2
) সংখ্যার একক ফ্যাক্টরিয়াল ব্যবহার করছে ।r
: রুট এই কমান্ডের ডিফল্ট সংখ্যাটি স্কোয়ার-রুট করে isc
: সিলিং ফাংশন।l
: মেঝে ফাংশন।
ম্যাথেমেনিয়ায় একটি সংখ্যা তৈরি করতে, আপনাকে অবশ্যই এই কমান্ডগুলি একসাথে স্ট্রিং করতে হবে, যা সংখ্যায় বাম থেকে ডান সঞ্চালিত হয় 2
।
উদাহরণ:
ef = (2^2)! = 4! = 24
rl = floor(sqrt(2)) = floor(1.4...) = 1
er = sqrt(2^2) = sqrt(4) = 2
efrrc = ceil(sqrt(sqrt((2^2)!)))
= ceil(sqrt(sqrt(24)))
= ceil(sqrt(4.89...))
= ceil(2.21...)
= 3
e
, f
এবং r
কমান্ড অতিরিক্ত Mathemania কমান্ড (যা দিয়ে চলতে শুরু পরিবর্তন করা যেতে পারে 2
তার "বেস" সংখ্যা হিসাবে) পরিবর্তিত ফাংশন পর বন্ধনী স্থাপন এবং এটা ভিতরে Mathemania কমান্ড স্থাপন দ্বারা বিভিন্ন exponentiations, ফ্যাক্টরিয়ালগুলির এবং শিকড় তৈরি করতে।
উদাহরণস্বরূপ, কোনও সংখ্যাটিকে স্কোয়ারের পরিবর্তে ঘনক্ষন করতে, আপনি পছন্দটির 3
পরে কমান্ডটি রাখতে e
পারেন:
e(efrrc) -> cube a number, "efrrc" = 3
দ্রষ্টব্য: আমাদের উদ্দেশ্যে, ফ্যাকটোরিয়াল কমান্ড ( f
) 2
একক ফ্যাক্টরিয়াল হিসাবে শুরু করে । সুতরাং আপনি যদি তা করেন তবে f(efrrc)
এটি দ্বিগুণ ফ্যাক্টরিয়ালকে মূল্যায়ন করবে, ট্রিপল ফ্যাক্টরিয়াল নয়।
n
ফ্যাক্টরিয়ালগুলির জন্য (যেমন ডাবল ফ্যাক্টরিয়ালস = ২-ফ্যাক্টরিয়াল, ট্রিপল ফ্যাক্টরিয়াল = 3-ফ্যাক্টরিয়াল ইত্যাদি), বেস সংখ্যাটি n
তার চেয়ে n
কম এবং এটির চেয়ে কম সংখ্যার দ্বারা গুণিত হয় এবং যতক্ষণ না চূড়ান্ত সংখ্যাটি না হতে পারে বা নেতিবাচক n
না হয়ে বিয়োগ0
উদাহরণ স্বরূপ:
7!! = 7 * 5 * 3 * 1 = 105 (repeatedly subtract 2, 1 is the last term as
1 - 2 = -1, which is negative)
9!!! = 9 * 6 * 3 = 162 (repeatedly subtract 3, 3 is the last term as
3 - 3 = 0, which is 0)
আরও তথ্যের জন্য, এখানে দেখুন ।
আপনি এটি যে কোনও জায়গায় সন্নিবেশ করতে পারেন এবং এটি ম্যাথেমেনিয়া দ্বারা একক ফাংশন হিসাবে বিবেচিত হবে:
e(efrrc)rc = ceil(sqrt(2^3))
= ceil(2.82...)
= 3
এগুলি একে অপরের অভ্যন্তরে বাসা বাঁধার অনুমতিও রয়েছে:
e(e(e)) = e(4th power)
= (2^4)th power
= 16th power
ম্যাথেমেনিয়া কোডের একজন অনুবাদকের জন্য, এখানে ক্লিক করুন (চিয়ার্স, @ ব্র্যাডগিলবার্টব 2 গিলস!)
টাস্ক:
আপনার কাজটি এমন একটি প্রোগ্রাম তৈরি করা যা n
ইনপুট হিসাবে ইতিবাচক পূর্ণসংখ্যার দেওয়া হলে একটি ম্যাথেমেনিয়া প্রোগ্রাম উত্পন্ন করে যা কার্যকর করা হলে ফিরে আসে n
।
যাইহোক, Mathemania প্রোগ্রাম যা আপনাকে উৎপন্ন ছোট (golfed) যতটা সম্ভব হতে হবে, এবং আপনার চূড়ান্ত স্কোর নমুনা উত্পন্ন Mathemania প্রোগ্রাম, যা পূর্ণসংখ্যা বাইট সংখ্যা এর সমষ্টি দ্বারা নির্ধারিত হয় 10,000
থেকে 10,100
। সর্বনিম্ন স্কোর জয়।
বিধি এবং চশমা:
- তোমার প্রোগ্রাম আবশ্যক আউটপুট কোন ধনাত্মক পূর্ণসংখ্যা জন্য একটি বৈধ Mathemania প্রোগ্রাম, কিন্তু শুধুমাত্র সংখ্যার মধ্যে
10,000
এবং10,100
পরীক্ষা করা হবে। - আপনাকে ম্যাথেমেনিয়া প্রোগ্রামগুলি আউটপুট দেওয়ার অনুমতি নেই যা কোনও পূর্ণসংখ্যার ফলাফল দেয় না। আপনি যদি এটি করেন তবে আপনার প্রোগ্রামটি অযোগ্য ঘোষণা করা হবে।
- কমান্ডগুলির জন্য
e
,f
এবংr
, সেই ফাংশনের অভ্যন্তরে ম্যাথেমেনিয়া কোড (উদাহরণস্বরূপe(efrrc)
, ফাংশনের অভ্যন্তরে কোডটি যেখানেefrrc
) অবশ্যই উপরের ধনাত্মক পূর্ণসংখ্যার মূল্যায়ন করতে হবে2
। যদি আপনার প্রোগ্রামটি এই নিয়মটি অনুসরণ না করে তবে এটি অযোগ্যও বটে। - আপনার প্রোগ্রামটি একটি আধুনিক ল্যাপটপে সর্বোচ্চ 30 মিনিটের মধ্যে 101 টেস্ট ইন্টিজারের যেকোন একটির জন্য অবশ্যই ম্যাথেমেনিয়া প্রোগ্রামটি ফিরিয়ে আনতে হবে।
- আপনার প্রোগ্রামটি প্রতিবার চালিত হওয়ার সাথে সাথে কোনও পূর্ণসংখ্যার জন্য একই সমাধানটি ফিরে আসতে হবে। উদাহরণস্বরূপ, যখন কোনও প্রোগ্রামকে একটি ইনপুট দেওয়া হয়
5
এবং এটি আউটপুট হয়efrc
, প্রতিবার ইনপুট দেওয়ার সময় এটি অবশ্যই আউটপুট দেয়5
। - কোনও ধনাত্মক পূর্ণসংখ্যার জন্য আপনি কোনও সমাধান হার্ড-কোড নাও করতে পারেন।
- আপনার আউটপুটে পুরোপুরি গল্ফিংয়ের সম্ভাব্যতা বাড়ানোর জন্য, আপনার প্রোগ্রামটি নির্বিচারে বড় পূর্ণসংখ্যাগুলি পরিচালনা করতে সক্ষম হওয়া উচিত। এটি কোনও প্রয়োজন নয়, যদিও আপনার ভাষা যদি এটিকে সমর্থন না করে তবে সৌভাগ্য।
এটি মেটাগল্ফ , তাই সর্বনিম্ন স্কোর জয়!
ef
উদাহরণস্বরূপ হয়, কোডটি কি "এড়িয়ে যেতে" অনুমতি দেয় এবং ef
অপারেশনের আগে ফলাফলটি আউটপুট দেয় ?