দশমিকের দ্বিগুণ নির্ভুলতার প্রতিনিধিত্ব কেবল 15 দশমিক স্থানের নির্ভুলতার গ্যারান্টি দিতে পারে, সুতরাং পাইটি প্রায় এই হিসাবে সংযুক্ত হয়:
3.141592653589793
আপনি দেখতে পাচ্ছেন যে 3
অঙ্কটি পজিশনে রয়েছে 1, 10, 16
, অঙ্কটি 1
পজিশনে রয়েছে 2, 4
ইত্যাদি etc.
চ্যালেঞ্জ
আপনার কাজটি এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করা যা 0 এবং 1 এর মধ্যে একটি এলোমেলো দ্বিগুণ সংখ্যা তৈরি করে এবং সেই সংখ্যার মানগুলিকে পাই এর মান হিসাবে মানচিত্র করে। আপনি অঙ্কটি পাইতে যে অবস্থানে আছে তা এলোমেলো সংখ্যায় বিভিন্ন অঙ্ক রেখে এটি করুন। যদি পাই পাইতে অঙ্কটি পাওয়া যায় না, আপনি এটি এড়িয়ে যাবেন এবং পাইতে প্রতিটি সংখ্যার যে এলোমেলো সংখ্যায় নেই তা একটি দ্বারা প্রতিনিধিত্ব করা হবে x
। প্রতিটি মান বাম থেকে শুরু করে একবার ব্যবহার করা যেতে পারে।
কয়েকটি উদাহরণ সম্ভবত এটি আরও পরিষ্কার করে দেবে। নিম্নলিখিত উদাহরণগুলিতে প্রথম সংখ্যাটি পাই, দ্বিতীয়টি এলোমেলো সংখ্যা এবং শেষটি পছন্দসই আউটপুট।
3.141592653589793
0.111111111111111
x.1x1xxxxxxxxxxxx
3.141592653589793
0.531000000000000
3.1xx5xxxxxxxxxxx
3.141592653589793
0.123456789123456
3.141592653x8x7xx
3.141592653589793
0.967552381459391
3.14159265358979x
নিয়মাবলী:
- ফাংশনটি কোনও ইনপুট গ্রহণ করা উচিত নয় (বুলেট পয়েন্ট 3 এ একটি সম্ভাব্য ব্যতিক্রম ব্যাখ্যা করা হয়েছে)
- আউটপুটটিতে কেবলমাত্র আউটপুট স্ট্রিং থাকবে anচ্ছিক নতুনলাইন সহ (একক পেছনের স্থানও গৃহীত হবে)
- যদি আপনার প্রোগ্রামটিতে পাই-মান এবং অন্তর্নির্মিত অন্তর্নির্মিত আর / বা কোনও আরএনজি না থাকে তবে আপনি পাই হার্ডকোড করতে পারেন এবং এলোমেলো নম্বরটিকে ইনপুট হিসাবে নিতে পারেন। আপনি এলোমেলো নম্বর হার্ডকোড করতে পারবেন না বা পাইটিকে ইনপুট হিসাবে নিতে পারবেন না।
- পাই এর জন্য হার্ডকডযুক্ত মান এবং 15 টি এলোমেলো অঙ্ক (আপনি
0.
যেহেতু জানেন যে এটি 0 থেকে 1 এর মধ্যে হবে), বাইট গণনায় অন্তর্ভুক্ত করা হবে। - যদি আপনার ভাষার প্রয়োজনীয় নির্ভুলতা না থাকে তবে আপনি নীচের সীমাবদ্ধতার অধীনে কম নির্ভুলতা ব্যবহার করতে পারেন
- পাই এর অঙ্কগুলি অবশ্যই আপনার নির্ভুলতার সাথে সঠিক হতে হবে
- আপনি সঠিক হওয়ার গ্যারান্টিযুক্তের চেয়ে বেশি মান আউটপুট করতে পারবেন না, অর্থাত্ নির্ভুলতা কেবলমাত্র 8 টি নির্দিষ্ট দশমিকের অনুমতি দিলে আপনি 15 সংখ্যার আউটপুট দিতে পারবেন না।
- পাই এর হার্ডকোডযুক্ত মানটি 16 বাইট হিসাবে গণনা করা হবে (আপনার দশমিক পয়েন্টের প্রয়োজন নেই), এমনকি যদি আপনার প্রোগ্রামটি কেবল 8 ডিজিটকে সমর্থন করে।
- এলোমেলো সংখ্যার জন্য ইনপুট মানটি 15 বাইট হিসাবে গণ্য হবে (আপনার প্রয়োজন নেই
0.
This এটি হ'ল কম নির্ভুলতার সাথে ভাষাগুলির অন্যায় সুবিধামত হওয়া উচিত নয়। - প্রোগ্রামটি অবশ্যই 5 দশমিক স্পষ্টতা (কমপক্ষে) সমর্থন করবে।
- সম্পাদনা করুন: উত্তরটি যাচাই করার জন্য: এলোমেলো নম্বরটি কোনওভাবে মুদ্রণ করা উচিত, তবে এই অপারেশনটি বাইট গণনায় অন্তর্ভুক্ত করতে হবে না। সুতরাং উদাহরণস্বরূপ, যদি
print r
স্ক্রিপ্টের শেষে একটি সন্নিবেশ করা সম্ভব হয় তবে part অংশটি স্কোর বাড়বে না। - আপনি বাইটগুলি বিয়োগ করতে পারবেন না যদি এটি অন্য প্রয়োজনীয় অপারেশনের অংশ হয়। অর্থাৎ কোডটি যদি হয়
print pi, r
তবে আপনি কেবল বিয়োগ করতে পারেন, r
। - কোডে বেশ কয়েকটি জায়গা sertোকাতে হয়, দয়া করে উভয় সংস্করণ অন্তর্ভুক্ত করুন (একটি যা এলোমেলো সংখ্যা মুদ্রণ করে এবং এমন একটি মন্তব্য যেমন না:
_p
এবং_oNo
এলোমেলো সংখ্যা মুদ্রণের জন্য প্রয়োজনীয়।_p
xxx করে এবং_oNo
না হ্যাঁ_p
এবং_oNo
বাইট গণনায় অন্তর্ভুক্ত করা হবে না।
বাইট জিতে সংক্ষিপ্ত কোড।
লিডারবোর্ড
এই পোস্টের নীচে স্ট্যাক স্নিপেট উত্তরগুলি থেকে ক্যাটালগ তৈরি করে a) ভাষার প্রতি সংক্ষিপ্ত সমাধানের তালিকা হিসাবে এবং খ) সামগ্রিক লিডারবোর্ড হিসাবে।
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
## Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:
## Ruby, <s>104</s> <s>101</s> 96 bytes
যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি পৃথকভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:
## Perl, 43 + 2 (-p flag) = 45 bytes
আপনি ভাষাটির নামটিকে একটি লিঙ্কও তৈরি করতে পারেন যা স্নিপেটে প্রদর্শিত হবে:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
0 < random < 1
বা 0 <= random <= 1
?