পটভূমি
ট্যাবলেটপ রোল-প্লেয়িং গেমগুলিতে এন্নুইয়ের একটি উত্স হ'ল বহু ডাইসে জড়িত রোলগুলি নিয়ে কাজ করে। একটি বিভাজন স্পেল কাস্ট করা তাত্ক্ষণিক হতে পারে, তবে ঘূর্ণায়মান এবং 40 টি ডাইস একসাথে যুক্ত করা অবশ্যই নয়!
এটি পরিচালনা করার জন্য বেশ কয়েকটি পরামর্শ rpg.stackexchange.com এ আলোচনা করা হয়েছে । এর মধ্যে কিছু, যেমন রোলার প্রোগ্রাম ব্যবহার করা বা ডাইভারেজ গড় চালানো, খেলোয়াড়দের কাছ থেকে কিছু মজাদার এবং নিয়ন্ত্রণের সংজ্ঞা কেড়ে নেয়। অন্যান্য যেমন 4 টি ডাইস ঘূর্ণায়মান এবং 10 টি দ্বারা মোট গুণ করে ফলাফলগুলি আরও বেশি সুইং করে তোলে (পাশের গড় পাশ্ব বিপরীত দিকে কাজ করে)।
এই প্রশ্নটি গড় ফলাফল (গড়) বা এর ঝলকানো (বৈকল্পিকতা) পরিবর্তন না করেই ডাইস রোলগুলির সংখ্যা হ্রাস করার একটি পদ্ধতি সম্পর্কে উদ্বেগ প্রকাশ করে ।
স্বরলিপি এবং গণিত
এই প্রশ্নে, আমরা পাশা রোল প্রতিনিধিত্ব করতে নিম্নলিখিত স্বরলিপি ব্যবহার করব:
- n ডি কে (যেমন 40 ডি 6) কে-পার্শ্বযুক্ত ডাইয়ের এন রোলসের যোগফলকে বোঝায়।
- n d k * c (উদাঃ 4d6 * 10) ধ্রুবক সি দ্বারা ফলাফলকে গুণিত করার বর্ণনা দেয়।
- আমরা রোলগুলি (উদাহরণস্বরূপ 4d6 * 10 + 40d6) এবং ধ্রুবকগুলিও যুক্ত করতে পারি (উদাঃ 4d6 + 10)।
একটি ডাই রোলের জন্য, আমরা এটি দেখাতে পারি:
- গড় : ই [1 ডি কে ] = (কে + 1) / 2
- বৈচিত্র : ভার (1 ডি কে ) = (কে -1) (কে + 1) / 12
গড় এবং বৈকল্পিকের মূল বৈশিষ্ট্যগুলি ব্যবহার করে আমরা আরও অনুমান করতে পারি:
- গড় : E [ m d k * a + n d l * b + c ] = am .E [1 ডি কে ] + বিএন । [১ ডি এল ] + সি
- ভ্যারিয়েন্স : Yvelines ( মি ঘ ট * একটি + + N ঘ ঠ * খ + + গ ] = একটি । ² এর মি .Var (1d ট ) + + খ ² এর। এন .Var (1d ঠ )
কার্য
তিনটি সংখ্যার এন , কে এবং আর দেওয়া , আপনার প্রোগ্রামটি নিম্নলিখিত সীমাবদ্ধতার সাথে সর্বাধিক আর রোলগুলিতে এন ডি কে প্রায় অনুমান করার একটি উপায় আউটপুট করা উচিত :
- সমাধানটির n ডি কে হিসাবে একই গড় এবং বৈকল্পিক হওয়া উচিত ।
- সমাধানে আর এর চেয়ে কম বা তার সমান রোলগুলির বৃহত্তম সম্ভাব্য সংখ্যক সংখ্যা থাকা উচিত , কারণ আরও রোলগুলি একটি মসৃণ বিতরণ তৈরি করে।
- আপনি শুধুমাত্র ব্যবহার করে আপনার সমাধানগুলি সীমিত করা উচিত ট পার্শ্বযুক্ত পাশা, যদি না আপনি (নিচে দেখুন) বোনাস জন্য নিশানা করছি।
- যদি কোন সমাধান (যেমন দ খুবই ছোট), প্রোগ্রাম উচিত আউটপুট স্ট্রিং "আমি একটি সেক্সি জুতোহীন যুদ্ধের দেবতা!"।
- পরামিতিগুলি একটি একক স্থান-বিভাজিত স্ট্রিং হিসাবে পাস করা হয়েছে।
- আপনি ধরে নিতে পারেন যে 1 ≤ n ≤ 100, 1 ≤ r ≤ n এবং সেই কে 4, 6, 8, 10, 12 এবং 20 এর মধ্যে একটি (ট্যাবলেটগুলিতে ব্যবহৃত স্ট্যান্ডার্ড ডাইস)।
- আউটপুট নোটেশন বর্ণিত বিন্যাসে হওয়া উচিত (যেমন 4d6 * 10 + 5), এর প্রায়শই optionচ্ছিক স্পেস থাকলেও অন্য কোথাও নেই। ইউনিট মাল্টিপ্লায়ারগুলিও optionচ্ছিক: 4d6 * 1 এবং 4d6 উভয়ই বৈধ।
আপনি STDIN (অথবা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে একটি প্রোগ্রাম বা ফাংশন লিখতে পারেন। ফলাফলগুলি STDOUT (বা নিকটতম বিকল্প) এ মুদ্রিত হওয়া উচিত বা স্ট্রিং হিসাবে ফিরে আসতে হবে।
উদাহরণ
>> "10 6 10"
10d6
>> "10 6 4"
2d6*2+2d6+14
>> "10 6 3"
1d6*3+1d6+21
>> "10 6 2"
1d6*3+1d6+21
>> "10 6 1"
I AM A SEXY SHOELESS GOD OF WAR!
স্কোরিং
সংক্ষিপ্ততম কোড জিতেছে। স্ট্যান্ডার্ড বিধি প্রয়োগ।
বোনাস
-33% (বিয়োগ পায়ের সামনে বৃত্তাকার) যদি আপনার প্রোগ্রাম এছাড়াও সমাধান তদন্য বৈধ পাশা অন্তর্ভুক্ত আসতে ট (যেখানে বৈধ মান, যেমন উপরে উল্লিখিত হয় 4, 6, 8, 10, 12 এবং 20)। যদি আপনি এটি করতে পছন্দ করেন, তবে আপনার যথাযথ হলে সর্বদা এই জাতীয় সমাধানগুলি ফিরে আসা উচিত এবং একাধিক ধরণের ডাই ব্যবহার করে এমন সমাধানগুলি পরিচালনা করতে হবে। উদাহরণ:
>> "7 4 3"
3d6+7