ভূমিকা
নিম্নলিখিত প্রয়োগের সাথে আপনাকে একটি এলোমেলো পূর্ণসংখ্যার জেনারেটর দেওয়া হচ্ছে
- প্রথম প্রার্থনা সর্বদা 1 প্রদান করে।
- দ্বিতীয় অনুরোধটি 1 এবং 2 এর মধ্যে একটি এলোমেলো পূর্ণসংখ্যা প্রদান করে।
- তৃতীয় প্রার্থনাটি 1 থেকে 3 এর মধ্যে একটি এলোমেলো পূর্ণসংখ্যা প্রদান করে।
- নবম প্রার্থনাটি 1 এবং n এর মধ্যে একটি এলোমেলো পূর্ণসংখ্যা প্রদান করে lusive
উপরের ফাংশনের উপর ভিত্তি করে, একটি এলোমেলো ডাইস জেনারেটর লিখুন যা পুরোপুরি এলোমেলো, সমান সম্ভাবনা সহ 1 এবং 6 (সমেত) এর মধ্যে একটি মান ফিরিয়ে দেয়।
বিধি
- আপনার প্রোগ্রাম / ফাংশনটির ফলাফল 1 এবং 6 এর মধ্যে একটি এলোমেলো পূর্ণসংখ্যার অন্তর্ভুক্ত হওয়া উচিত, কিছু ব্যবহারযোগ্য আকারে সমেত, যেমন স্ট্যান্ডার্ড আউটপুট বা ফাংশন রিটার্ন মান হিসাবে।
- উপরে আরোহণের এলোমেলো সংখ্যা জেনারেটরটিকে আপনার প্রোগ্রামের একটি "ফ্রি" ফাংশন হিসাবে সংজ্ঞায়িত করা যেতে পারে (যেমন, আপনার চরিত্রের গণনা গণনা করা হয় না), বা একটি পৃথক স্ক্রিপ্ট / প্রোগ্রাম যা প্রয়োজন অনুসারে কার্যকর করা হয়, ধরে নিয়ে রাষ্ট্র (
n) স্থির থাকে কল মধ্যে। - ধরে নিন যে আপনার প্রোগ্রামের একক ব্যবহারের ক্ষেত্রে আর 1000 এর বেশি ডাইস রোলগুলির জন্য অনুরোধ করা হবে না, এবং প্রারম্ভিক
1ওভারফ্লো এড়াতে প্রাথমিক র্যান্ডম নম্বর জেনারেটর 1000 ডাইস রোলসের শেষে পুনরায় সেট করা যাবেn। - উপরে বর্ণিত আরোহী র্যান্ডম জেনারেটর ব্যতীত আপনার প্রোগ্রামটি এলোমেলো সংখ্যার অন্য কোনও উত্স ব্যবহার করতে পারে না । আপনি অবশ্যই প্রতিটি একক ডাইস রোল আউটপুট জন্য এলোমেলো সংখ্যা জেনারেটর থেকে একাধিক র্যান্ডম সংখ্যার জন্য অনুরোধ করতে পারেন।
- এটি কোড-গল্ফ, তাই বিজয়ী সংক্ষিপ্ত উত্তর বা টাইয়ের ক্ষেত্রে বেশিরভাগ ভোট। আপনি যদি 1000 টিরও কম রেন্ডম সংখ্যার ব্যবহার করে 1000 ডাইস রোলস তৈরি করতে পারেন তবে নিজেকে 10-পয়েন্ট দক্ষতার বোনাস দিন ।
উদাহরণ
./asc-rand
1 # random integer between 1 and 1
./asc-rand
1 # random integer between 1 and 2
./asc-rand
3 # random integer between 1 and 3
./asc-rand
4 # random integer between 1 and 4
# dice-gen generates random dice based on output of asc-rand program.
./dice-gen
3
./dice-gen
6
./dice-gen
5
./dice-gen
1
iterate(6):b=asc-rand(); print bঅবৈধ বা এটি কার্যকর নয়? আমি তৃতীয় নিয়ম ভুল বুঝতে পারে।