পটভূমি
এই ধাঁধাটি চারটি চার ধাঁধা (নিজেই একটি অতীত প্রশ্নের বিষয় )) এই ধাঁধার মতো, লক্ষ্যটি হ'ল চারটি অঙ্ক এবং নির্দিষ্ট কিছু গাণিতিক অপারেটর ব্যবহার করে বিভিন্ন সম্পূর্ণ সংখ্যার জন্য গাণিতিক এক্সপ্রেশন খুঁজে পাওয়া। এই ক্ষেত্রে, তবে অনুমোদিত অঙ্কগুলি কেবল 2, 0, 1 এবং 5 । প্রতিটি সমাধান এবং সঠিক ক্রমে অবশ্যই একবারে উপস্থিত হতে হবে। আশ্চর্যজনকভাবে পুরো পুরো সংখ্যাটি এভাবে উপস্থাপন করা যায়। সমাধানগুলি প্রথমে হাত দিয়ে সমাধান করার চেষ্টা করতে উত্সাহিত করা হয়, কারণ এটি আশ্চর্যজনকভাবে উপভোগযোগ্য।
বিধি
একক বা একাধিক সংখ্যা থেকে ধ্রুবকগুলি নির্মিত হতে পারে:
- পূর্ণসংখ্যা: যেমন 2, 0, 15 ইত্যাদি
- দশমিক: যেমন .2, .01, 1.5। ইত্যাদি 1.5
- দশমিক পুনরাবৃত্তি : যেমন .2 ~ (= 0.222 ...), .15 ~ (= 0.1555 ...), 20.15 ~~ (= 20.1515 ...)
নিম্নলিখিত unary অপারেশন অনুমোদিত:
- একত্রী অবহেলা: -x
- স্কোয়ার রুট: স্কয়ার্ট (এক্স)
- পূর্ণসংখ্যার ফ্যাক্টরিয়াল: এক্স!
নিম্নলিখিত বাইনারি অপারেশন অনুমোদিত:
- স্ট্যান্ডার্ড পাটিগণিত অপারেটরগুলি: x + y, xy, x * y এবং x / y
- নির্বিচারে এক্সপেনশনেশন: x ^ y
- নির্বিচারে শিকড়: rt [x] (y) (= x'th এর মূল)
কার্য
আপনার প্রোগ্রামটি 0 এবং 100 এর মধ্যে যতটা পূর্ণসংখ্যার পূর্ণ সংখ্যার জন্য এক্সপ্রেশনগুলি মুদ্রণ করবে এবং তারপরে এটি প্রকাশ করেছে তার সংখ্যাটি আউটপুট।
- সমাধানগুলি অবশ্যই n = [expr] ফর্ম্যাটে মুদ্রণ করতে হবে।
- এক্সপ্রেশন অবশ্যই প্রতিটি ক্রম 2, 0, 1, 5 সমস্ত অঙ্ক ব্যবহার করা উচিত।
- এক্সপ্রেশন অবশ্যই উপরে বর্ণিত স্বরলিপি ব্যবহার করে মুদ্রণ করা উচিত। অপ্রয়োজনীয় বন্ধনীগুলি অনুমোদিত তবে প্রয়োজন নেই, যেমনটি শ্বেত স্পেস। অপারেটর অগ্রাধিকারের ক্রমটি হ'ল অ্যানারি অবহেলা, ফ্যাকটোরিয়াল, এক্সফোনেনটিেশন, গুণা / বিভাগ এবং সংযোজন / বিয়োগফল।
- প্রোগ্রামটির সমস্ত সংখ্যার জন্য সমাধানগুলি ফেরত দেওয়ার দরকার নেই। একটি প্রোগ্রাম যা কেবল 0 আউটপুট করে তাই বৈধ; তবে নীচের স্কোরিং বিভাগটি দেখুন।
- একটি আধুনিক কম্পিউটারে প্রোগ্রামটি 15 মিনিটেরও কম সময়ে চলতে হবে।
আপনি কোনও প্রোগ্রাম বা ফাংশন লিখতে পারেন। এক্সপ্রেশনগুলি STDOUT (বা নিকটতম বিকল্প) এ মুদ্রিত করা উচিত। এক্সপ্রেশন সংখ্যা STDOUT এ মুদ্রিত বা পূর্ণসংখ্যার হিসাবে ফিরে আসতে পারে। স্ট্যান্ডার্ড কোড গল্ফ বিধিনিষেধগুলি প্রযোজ্য।
উদাহরণ আউটপুট
0=2*0*1*5
10=20*1*.5
42=((2+0!)!+1)!/5!
100=20*1*5
4
স্কোরিং
আপডেট : @ অরলপ স্কোরিং সিস্টেমে একটি ত্রুটি চিহ্নিত করেছে। কীভাবে বা এটি ঠিক করা উচিত তা নিয়ে আলোচনার জন্য http://meta.codegolf.stackexchange.com/questions/5106/way-of-salvaging-two-zero-one-five-p ਬੁেলান-চ্যানেলে দেখুন ।
সমাধানগুলি তাদের উত্পাদিত সংখ্যার দ্বারা প্রথমে এবং তারপরে তাদের কোড দৈর্ঘ্যের দ্বারা বাইটে স্কোর করা হয় । সুতরাং, ৮০ টি ফলাফল তৈরি করে এমন একটি 1000 বাইট প্রোগ্রাম 100 টি বাইট প্রোগ্রামকে পরাজিত করবে যা কেবলমাত্র 79 টি উত্পাদন করে (যদিও পরবর্তীটি সহজেই অনুপস্থিত ফলাফলগুলি অন্তর্ভুক্ত করার জন্য বাড়ানো যেতে পারে)।
যারা একটি অনুপ্রেরণামূলক লক্ষ্য চান, তাদের নীচে নীচের অংশে প্রতিনিধিত্ব করা যেতে পারে এমন ভাবের সংখ্যার উপর একটি নীচে আবদ্ধ। আমি কোনও এন্ট্রি জমা দেওয়ার পরিকল্পনা করি না, তাই কম দিয়ে জেতা সম্ভব!
কমপক্ষে 85 (101 এর মধ্যে), যদিও এটি ভাল হতে পারে।
স্কোরবোর্ড
অতিরিক্ত উত্সাহ হিসাবে, এখানে স্কোর অগ্রগতির সংক্ষিপ্তসার রইল। আপনি যখনই সর্বোচ্চ স্কোরকে পরাজিত করবেন, নিজেকে নির্বিঘ্নে টেবিলের শীর্ষে যুক্ত করুন (বা অন্য কাউকে বলুন)।
- 0 টি এক্সপ্রেশন, 1 বাইট (পাইথ): বাস্তবায়ন যা কেবল 0 কে আউটপুট করে