পাইতে একটি এলোমেলো সংখ্যা মানচিত্র করুন


27

দশমিকের দ্বিগুণ নির্ভুলতার প্রতিনিধিত্ব কেবল 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এলোমেলো সংখ্যা মুদ্রণের জন্য প্রয়োজনীয়। _pxxx করে এবং _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


2
আপনি যদি অন্তর্নির্মিত এলোমেলো নম্বর ব্যবহার করছেন, এটিতে কি 15 টি সংখ্যা থাকতে হবে বা আরও বেশি থাকতে পারে? এছাড়াও এলোমেলো সংখ্যা আউটপুট করার জন্য কোন প্রয়োজনীয়তা আছে? যদি তা না হয় তবে উত্তরগুলি যাচাই করা কিছুটা শক্ত হয়ে যায়।
ব্যবহারকারী 81655

আঃ, এটা একটা ভালো কথা! এলোমেলো সংখ্যার 15 টিরও বেশি সংখ্যা থাকতে পারে। আমি এলোমেলো নম্বর দিয়ে কী করব তা ব্যাখ্যা করে একটি সম্পাদনা করব। মন্তব্য করার জন্য ধন্যবাদ!
স্টিভি গ্রিফিন

" 0 থেকে 1 এর মধ্যে " এলোমেলো মানে কি 0 < random < 1বা 0 <= random <= 1?
ক্রিস Degnen

@ স্টেভিগ্রিফিন আমি বিভ্রান্ত এর অর্থ কি আমরা পাই এর 15 সংখ্যার পাই এবং একটি 16/17-সংখ্যার এলোমেলো নম্বর ব্যবহার করতে পারি?
জাকুব

@ জাকুব, সত্য কথা বলতে: আমি প্রশ্নটি কিছুটা ভুল করে পড়েছি, এভাবে উত্তর দিয়েছি যে এটির আরও বেশি সংখ্যা থাকতে পারে, সুতরাং আপনার প্রশ্নের উত্তর হ্যাঁ। বেশিরভাগ উত্তর এলোমেলো সংখ্যার সংখ্যাকে সজ্জিত না করায় এখনই এই উত্তরটি ফিরে আসতে খুব দেরি হয়েছে। যদিও এটি 17 এ সীমাবদ্ধ করুন।
স্টিভি গ্রিফিন

উত্তর:


5

পাইথ, 25 বাইট

 u&p?}HGH\x.-GH`.n0<`O017

এটি অনলাইনে ব্যবহার করে দেখুন: বিক্ষোভের সংখ্যাটি প্রদর্শন করে বা পরীক্ষা করে

ব্যাখ্যা:

 u&p?}HGH\x.-GH`.n0<`O017  
                .n0         the constant pi
               `            convert it into a string
                     O0     random number in the range [0.0, 1.0)
                    `       convert to string
                   <   17   only use the first 17 chars (zero, point and 15 digits)
 u                          for each char H in the pi-string:
    ?}HGH\x                    if H in G (the random number string) then H else "x"
   p                           print this char without newline
  &                            and
           .-GH                remove the digit H once from G
<space>                     suppress the output (u returns the unused digits in G)

14

ল্যাবভিউ, 53 ল্যাবভিউ পুরষ্কার

আমি স্ট্রিংয়ের সাথে মেলে এবং নম্বরটি একটি "খালি" x.xxx স্ট্রিংয়ে রেখেছি এবং পাই থেকে নম্বরটি সরিয়ে ফেলি যাতে এটি আর দেখাবে না।

এলোমেলো নম্বর এবং একক অক্ষর এখানে দর্শনীয়, ঠিক আছে বা আমি রেকর্ডিং আবার করতে হবে?


এটি বেশ স্পষ্টতই কাজটি করছে যদিও কয়েকটি অক্ষর দেখতে কিছুটা কঠিন হলেও আপনার আর কিছু করতে হবে না ... সুন্দর উত্তর! =)
স্টিভি গ্রিফিন

6

গাণিতিক, 105 বা 147 টি অক্ষর

যদি " 0 এবং 1 এর মধ্যে " র্যান্ডম সংখ্যার অর্থ হয় 0 <= random <= 1, তবে 0 এবং 1 অন্তর্ভুক্ত।

StringReplace[ToString@InputForm@N@Pi,
Thread[ToString/@Complement[Range@9,RandomInteger[{0,9},15]]->"x"]]

(105 টি অক্ষর)

তা না হলে, "র্যান্ডম সংখ্যা গ্রহণ মধ্যে 0 এবং 1" মানে 0 < random < 1

সমস্ত শূন্য নয়, 15 এলোমেলো পূর্ণসংখ্যা পেতে লুপ। 0 থেকে 9 ব্যাপ্তি পর্যন্ত পরিপূরক নির্বাচন করুন, অর্থাত এলোমেলো তালিকায় 0 থেকে 9 অবধি নয়। সেই পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করুন এবং মিলের অক্ষরগুলিকে পাই স্ট্রিংয়ে প্রতিস্থাপন করুন।

(১৪7 টি অক্ষর)

While[True,r=RandomInteger[{0,9},15];
If[Union@r!={0},Break[]]];
StringReplace[ToString@InputForm@N@Pi,
Thread[ToString/@Complement[Range@9,r]->"x"]]

3.1x15x265358x7x3

এলোমেলো সংখ্যা: -

FromDigits[r]

820307536180783


সম্পন্ন. লাইন ব্রেকগুলি কেবল পঠনযোগ্যতার জন্য অন্তর্ভুক্ত।
ক্রিস Degnen

2
এখনও আমার জন্য 149 বাইট (লাইন ব্রেক সহ, 146 ছাড়াই) হিসাবে বেরিয়ে আসে। একটি গল্ফযুক্ত এবং একটি অবহেলিত সংস্করণ উভয়ই যুক্ত করে ভুল নেই। কিছু golfing টিপস: Trueহয় 1>0, RandomIntegerপোতা স্বরলিপি ব্যবহার করতে পারেন {0,9}~RandomInteger~15। আপনি সম্ভবত কিছু বাইটস সংরক্ষণ করতে পারেন rকিছু মান দিয়ে এবং আসলে এর Whileপরিবর্তে শর্তটি ব্যবহার করে Break.তারপরে Forঅন্য বাইট ব্যবহার করতে পারেন While। যদিও আপনি পরিবর্তে এলোমেলো সংখ্যাটি পরিসীমা ধরে নিলে আপনার কেন লুপের প্রয়োজন হবে তা আমি দেখতে পাচ্ছি না [0,1)
মার্টিন এন্ডার

@ মার্টিনব্যাটনার আমি পছন্দ করি 1>0:-)
ক্রিস ডাগেন

আমি সাধারণত "0 এবং 1 এর মধ্যে" র্যান্ডম সংখ্যাটি পড়তাম যার অর্থ 0 <এলোমেলো <1.
ক্রিস ডাগেন

5

জাভাস্ক্রিপ্ট (ES6), 89 87 বাইট

_=>(r=[...Math.random()+""],Math.PI+"").replace(/./g,d=>(r[i=r.indexOf(d)]=_,~i?d:"x"))

ব্যাখ্যা

সম্পাদনা করুন: পোস্টার দ্বারা স্পষ্ট হিসাবে এলোমেলো স্ট্রিং এখন কাটা হয়নি।

পাই এর প্রতিটি অঙ্কের মধ্য দিয়ে লুপ করে এবং যদি এটি পাওয়া যায় তবে এলোমেলো সংখ্যা থেকে অঙ্কটি সরিয়ে দেয়, অন্যথায় পাইটিতে অঙ্কটি প্রতিস্থাপন করে x

_=>(
    r=[...Math.random()+""],      // r = array of 15 digit random number chars
    Math.PI+"").replace(/./g,d=>( // for each digit d of pi, includes "." which is always
                                  //     in the random number
      r[i=r.indexOf(d)]=_,        // i = position of d within r, remove digit from r
                                  // "_" is the unused function argument (equals undefined)
      ~i?d:"x"                    // if found, leave the digit, else replace with x
    ))

পরীক্ষা

পরীক্ষাটি এলোমেলো সংখ্যাও আউটপুট করে।


এলোমেলো () 15 টি জিরো উত্পাদন করতে পারে না যেখানে 0.000 ... বা 1.000 এর সাথে মিলবে ...? অর্থাত 0 এবং 1 এর মধ্যে নয়
ক্রিস Degnen

@ ক্রিসডেগেন Math.random()বেশ কয়েকটি পরিসীমা তৈরি করে [0,1)যাতে তা 0কখনও হয় না 1। ওপিতে সীমাটি অন্তর্ভুক্তি বা একচেটিয়া ছিল কিনা তা সুনির্দিষ্টভাবে জানায়নি তাই আমি ধরে নিয়েছিলাম যে যা যুক্তিসঙ্গত তা ঠিক আছে। অন্যান্য উত্তরগুলিও এটি ব্যবহার করে এমন ব্যাপ্তি। তবে আপনি আমাকে সচেতন করেছেন যে এটি যদি ঠিক হয় তবে এটি 0ব্যর্থ হবে কারণ .ইন পাই মিলবে না এবং হয়ে যাবে x। এটির মধ্যে 1 এর 2 ^ 53 টি হওয়ার সম্ভাবনা রয়েছে তবে আমি যাইহোক এটি স্থির করার সিদ্ধান্ত নিয়েছি।
ব্যবহারকারী 81655

:-) সেটার জন্য দুঃখিত.
ক্রিস Degnen

এলোমেলো ডাবলের জন্য ঠিক 0 বা 1 হিট হওয়ার সম্ভাবনা নগণ্য, সুতরাং এই চ্যালেঞ্জের উদ্দেশ্যে একটি পরিসীমা [0,1]ঠিক আছে (ঠিক তেমন (0,1))।
স্টিভি গ্রিফিন

খুশী হলাম। আমি একটি সংক্ষিপ্ত রূপের প্রস্তাব।
এমএসটি

3

সিজেম, 48 46 42 38 36 বাইট

P`'xf+1dmr`{1$f#:!1a/0=:)W+H<.%}/1f=

এটি এখানে পরীক্ষা করুন।

এবং এখানে সংস্করণটি যা উভয়ই ints এবং এলোমেলো সংখ্যা মুদ্রণ করে:

P_p`'xf+1dmr`_oNo{1$f#:!1a/0=:)W+H<.%}/1f=

এটি এখানে পরীক্ষা করুন।

আমি এলোমেলো সংখ্যাকে 15 দশমিক জায়গায় ছাঁটাই করব না, যেমনটি একটি মন্তব্যে ওপি দ্বারা স্পষ্ট করে দেওয়া হয়েছে।

ব্যাখ্যা

ধারণাটি হ'ল স্ট্রিং উপস্থাপনার প্রতিটি অক্ষরকে character অক্ষরটির জুটিতে পরিণত করা এবং x। এলোমেলো সংখ্যার প্রতিটি চরিত্রের জন্য, আমরা প্রথম জুটিটি অদলবদল করি যা সেই চরিত্রটি দিয়ে শুরু হয়। শেষে আমরা প্রতিটি জুটির দ্বিতীয় অক্ষর আউটপুট করি।

P`      e# Get string representation of π.
'xf+    e# Append "x" to each character.
1dmr`   e# Get string representation of random number in [0,1).
{       e# For each character in that string...
  1$    e#   Copy the list of pairs.
  f#    e#   For each pair, find the index of the current character. If the character is
        e#   not in the pair, we get -1 (truthy). If it is the first character of the pair,
        e#   we get 0 (falsy). If it is the second character, we get 1 (truthy).
  :!    e#   Logical NOT for each of the results. We get a 1 for every pair we could
        e#   potentially swap.
  1a/   e#   Split around those 1s.
  0=    e#   Keep only the first chunk.
  :)    e#   Turn all the 0s into that chunk into 1s.
  W+    e#   Append a -1.
  H<    e#   Truncate to 17 elements (the number of pairs).
  .%    e#   Apply % pairwise. This reverses the element at the position of the -1.
}/
1f=     e# Select the second character from each pair.

2

লুয়া, 231 230 বাইট

m,s=math,""p,r=m.pi..s,s..m.random()p=p:sub(1,#p-1)p:gsub(".",function(c)s=s..(47>c:byte()and c or"x")end)r:gsub("[^%.]",function(c)l=p:find(c)if l then p,s=p:sub(1,l-1).."x"..p:sub(l+1),s:sub(1,l-1)..c..s:sub(l+1)end end)print(s)

ব্যাখ্যা

function f()
  m,s=math,""
  p,r=m.pi..s,s..m.random()
  p=p:sub(1,#p-1)                       -- remove the last digit of math.pi

  p:gsub(".",function(c)
    s=s..(47>c:byte()and c or"x")      -- Construct a string full of "x" with a single dot
  end)

  r:gsub("[^%.]",function(c)            -- Iterate over each character but the dot in the random number
    l=p:find(c)                         -- if c isn't in pi, l=nil 
    if l                                -- which is one of the two falsy value in lua
    then
      p,s=p:sub(1,l-1).."x"..p:sub(l+1),-- If c is in pi, we replace it in p by an x
          s:sub(1,l-1)..c..s:sub(l+1)   -- and in s by its value
    end
  end)
  return s
end

দুঃখের বিষয়, লুয়া এখানে আমাকে মোটেই সহায়তা করে না। এটি ফিরে আসার পাইয়ের শেষ অঙ্কটি গণিত.পিআই:

print(math.pi)
>> 3.1415926535898

আমাকে এই নম্বরটি কেটে দিতে হবে:

stringPI=""..math.pi
print(stringPI:sub(1,#stringPI-1))
>> 3.141592653589

এই চ্যালেঞ্জটি করার জন্য দ্বিতীয় বড় ডিফল্টটি ছিল স্ট্রিং.রেপস () এর অভাব। যেহেতু আমি এই ক্রিয়াটি দু'বার ব্যবহার করে করছি s:sub(1,l-1)..c..s:sub(l+1), আমি এটি একটি সংক্ষিপ্ত হবে ভেবে একটি বেনামি ফাংশন করতে চাইছিলাম। এটি নয়, তাই আমি এটি দু'বার লিখে রেখেছি।

যে কারণে আমাকে বিন্দু সম্পর্কে সতর্ক থাকতে হবে, তা হল লুয়া কীভাবে তার অবস্থানটি ফিরিয়ে দেয় return রেজেক্সে, একটি বিন্দুর অর্থ "কোনও চরিত্র", সুতরাং যখন আমি .আমার লুপের চরিত্রটি মূল্যায়ন করি তখন এটি প্রথম চরিত্রের সাথে মেলে:

c="."  -- The value of the dot in the loop
found = stringPI:find(c)
print(stringPI)
print("location of \".\": "..found)
print("char at "..found..": "..stringPI:sub(found,found))

>> 3.141592653589
>> location of ".": 1   --Keep in mind that lua arrays are 1-based :)
>> char at 1: 3 

আপনি লুয়া অনলাইন পরীক্ষা করতে পারেন । যেহেতু আমি পিআরএনজি সিড করছি না, এখানে একটি কোড এখানে মানগুলি দেখার সময় আপনাকে কয়েকটি পরীক্ষা চালানোর অনুমতি দেয়।

function f()m,s=math,""p,r=m.pi..s,s..m.random()print("Random number: "..r)p=p:sub(1,#p-1)p:gsub(".",function(c)s=s..(c:byte()<47 and c or"x")end)r:gsub("[^%.]",function(c)l=p:find(c)if l then p,s=p:sub(1,l-1).."x"..p:sub(l+1),s:sub(1,l-1)..c..s:sub(l+1)end end)return s end

for i=1,10
do
    print(f())
end

2

পাইথন 2.7, 117 110 বাইট

import math,random
n=list(`random.random()`)
print''.join(n.pop(n.index(d))if d in n else'x'for d in`math.pi`)

সর্বশেষতম কিপাইটন অ্যান্ড্রয়েড অ্যাপে পরীক্ষিত, তবে যে কোনও জায়গায় কাজ করা উচিত।

সম্পাদনা 1: str(pi)ব্যাকটিক্সে পরিবর্তিত হয়েছে

পরীক্ষার জন্য:

import math,random
n=list(`random.random()`)
print `math.pi`
print ''.join(n)
print''.join(n.pop(n.index(d))if d in n else'x'for d in`math.pi`)

চমৎকার উত্তর! "কোড চিহ্নিত করার জন্য অ্যাস্টোলোফস এসও ব্যবহার করে" হ'ল ব্যাকটিকস বা গ্রোভ প্রতীক, উপায় :-)
বিড়াল

1

পাইথন, 147 বাইট

import math as m,random as r
L=lambda t:[_ for _ in str(t)]
p=L(m.pi)
R=L(r.random())
A=""
print R #subtracted from byte count
for n in p:
    try:R.remove(n);A+=n
    except:A+='x'
print A

মোটামুটি স্ব-ব্যাখ্যামূলক: ল্যাম্বদা ফাংশনটি ভাসমানকে তালিকায় রূপান্তর করে; তারপরে আমরা পাই-তালিকাটি লুপ করে এলোমেলো তালিকা থেকে প্রতিটি অঙ্ক সরিয়ে দেওয়ার চেষ্টা করি। আমরা যদি পারি, ভাল, তবে এটি উত্তরে যুক্ত করুন; যদি না হয়, পরিবর্তে একটি 'এক্স' যুক্ত করুন।


str(t)কেবল চান তোমাদের থেকে স্পষ্টতা 11 ডিজিটের দেয় t, repr(t)তোমরা সবাই দেয় t'র 15 ডিজিটের।
নুডল 9

1

পার্ল, 70 বাইট

$_=4*atan2(1,1);s/\d/x$&/g;for$i(rand=~/\d/g){s/x$i/$i/}s/x./x/g;print

মন্তব্য সহ:

$_=4*atan2(1,1);        # Perl doesn't have a Pi constant
s/\d/x$&/g;             # prepend a x to all digits in Pi
for $i (rand=~/\d/g)    # iterate the digits in the random number
{ s/x$i/$i/ }           # replace first occurrence of x-nr pair 
s/x./x/g;               # strip all remaining numbers
print                   # print!

এই সংস্করণটি পাই, এলোমেলো সংখ্যা এবং ফলাফল মুদ্রণ করবে:

$_=$p=4*atan2(1,1);
s/\d/x$&/g;
$r=rand;
for $i ($r=~/\d/g)
{ s/x$i/$i/ }
s/x./x/g;
print "$p\n$r\n$_\n"

উদাহরণ আউটপুট:

3.14159265358979
0.877757977767946
x.x4x59x6xxx897x

আমি আশা করি এটি ঠিক আছে:

  • পাইতে 3 সহ মোট 15 অঙ্ক রয়েছে, তাই এটি যথার্থতার চেয়ে বেশি নয়।
  • শেষ সংখ্যাটি ( 9) সঠিক।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.