বিড়াল আবার আপনার ইনপুট খাওয়া!


30

একটি বিড়াল প্রোগ্রাম তৈরি করুন, একটি প্রোগ্রাম যা একটি ইনপুট নেয় এবং এটি মুদ্রণ করে।

... বাদে প্রোগ্রামটি এলোমেলোভাবে অক্ষরগুলি আপনার ইনপুট থেকে দূরে সরিয়ে নেবে এবং পরিবর্তে এটি মুদ্রণ করবে।

ইনপুটটির প্রতিটি অক্ষরের প্রোগ্রামের সাথে অপসারণের জন্য সাধারণত সমান প্রতিকূলতা থাকা উচিত, যদিও এটি তৈরি করা যেমন শক্ত, তবে প্রতিটি অক্ষরের প্রতিক্রিয়া সর্বাধিক 10% দ্বারা পৃথক হতে পারে।

আপনার প্রোগ্রামটি ইনপুট নিতে হবে, তারপরে এলোমেলোভাবে ইনপুট থেকে অক্ষরগুলি সরিয়ে ফেলুন, তারপরে আবার সেই সংস্করণটি মুদ্রণ করুন। (আপনার ভাষাতে নতুন লাইন প্রিন্ট করতে হয় এমন ক্ষেত্রে আপনি পেছনের নিউলাইনগুলি বা অন্যান্য অক্ষর দিয়ে মুদ্রণ করতে পারেন))

যদি ইনপুটটি ছিল BOOOWL, এটি সমান সুযোগের সাথে সমস্ত ওসকে সরিয়ে ফেলবে না: প্রতিটি অক্ষর (অনন্য নয়) বিবেচনা করা উচিত, সুতরাং প্রতিটি ও-এর পরিবর্তে 1/5 সুযোগ (উদাহরণস্বরূপ) হওয়া উচিত, প্রতিটি ও-এর 1 টি হওয়া উচিত / 5 সুযোগ তাই হয়, পরিবর্তে সেখানে হচ্ছে একটা 1/5 সুযোগ BWL, সেখানে একটি 1/5 সুযোগ থাকা উচিত BOWL, BOOWL

ইনপুটটি এসটিডিইএন বা নিকটতম সমতুল্যে সীমাবদ্ধ।

প্রতিটি চরিত্র নয় 10% একটি সর্বনিম্ন এবং 30% সম্ভাবনা সর্বাধিক অপসারণ করা হবে না।

প্রতিটি চরিত্রের মতভেদগুলি পৃথকভাবে গণনা করা উচিত।

আপনি এলোমেলো ক্রিয়াকে সমর্থন করে আপনার ভাষার যে কোনও উপাদান ব্যবহার করতে পারেন, এটি কার্যকরী বা অন্য কিছু হোক।

আউটপুট অবশ্যই STDOUT বা নিকটতম সমতুল্যের মধ্য দিয়ে হতে হবে। যদি আপনার ভাষাতে স্টডআউট থাকে তবে অন্য কোনও উপায়ে আউটপুট করবেন না। আপনার ভাষা যদি স্ট্রিংটিকে পাঠ্য হিসাবে আউটপুট না দিতে পারে তবে নিকটতম সমতুল্য ব্যবহার করুন (সি এর অক্ষরের অ্যারের আউটপুট ঠিক আছে এখানে)।

এটি কোড গল্ফ। সংক্ষিপ্ততম প্রোগ্রামের জয়।


4
নির্দিষ্ট চরিত্রটি সরিয়ে ফেলার জন্য সর্বদা 10% থেকে 30% এর মধ্যে থাকা উচিত? বা এটি কি কেবল উদাহরণের উদ্দেশ্যে?
এটিনিট

2
"একটি চরিত্রের সেট" বলতে কী বোঝ? ইনপুট হলে BOWL OF SOUPসব পারে O'র এক বারেই মুছে যাবে?
রোব্লগিক

1
সমস্ত উত্তর এখনও অবধি অক্ষর সরানোর জন্য একটি স্থির 20% সুযোগ ব্যবহার করে। আমি নিশ্চিত নই যে প্রশ্নগুলির উদ্দেশ্যটি সমস্ত চরিত্রের একই মতভেদ রাখার জন্য।
এনজল

3
Output must be through STDOUT, as a text. Do not output a character array.<- আমার কাছে একটি ভাষা রয়েছে যা আপনাকে একটি অক্ষর অ্যারে আউটপুট করতে দেয় (আউটপুট দেওয়ার আগে এটি সমতল)। তা কি অনুমোদিত নয়? সি এর মতো ভাষা সম্পর্কে, যেখানে স্ট্রিং মূলত একটি চরিত্রের অ্যারে?
ইসমাইল মিগুয়েল

1
নিকটতম সমতুল্য ব্যবহার করুন। সি এর অক্ষরের অ্যারে স্ট্রিংগুলি ঠিক আছে, কারণ এগুলি পাঠ্যের নিকটতম সমতুল্য।
অ্যান্ড্রু

উত্তর:


10

জাপট -f , 2 বাইট

-fফ্ল্যাগ "প্রথম ইনপুট প্রতিটি উপাদান প্রোগ্রাম চালায়, ঐ যে একটি truthy মান একটি অ্যারের outputting।" 0 (অন্তর্ভুক্ত) এবং 5 (একচেটিয়া) এর মধ্যে একটি এলোমেলো সংখ্যা প্রদান করে। জাভাস্ক্রিপ্টের মতো, 0 জাপটেও মিথ্যা।

চেষ্টা করে দেখুন


2
আমি সময় মতো ফিরে যাচ্ছি, এমন একটি ভাষা তৈরি করা যেখানে ও এই চ্যালেঞ্জ এবং তারপরে ফিরে গিয়ে আমার উত্তর জমা দিতে, বা খালি স্ট্রিংটি তৈরি করতে পারেন: পি
অ্যান্ড্রু

কমান্ডলাইন পতাকাগুলি বাইকোয়েন্টের দিকে গণনা করার কথা নয়?
ড্যানিয়েল ভেস্টেল

1
@ ড্যানিয়েলভেস্টল -fশিরোনামে, ক্লিক করুন ।
ইসমাইল মিগুয়েল


1
রসিকতা ছিল তবে ঠিক ছিল
অ্যান্ড্রু

8

পাইথন 3 , 63 বাইট

from random import*
for c in input():print(end=c[random()<.2:])

এটি অনলাইন চেষ্টা করুন!

পাইথন 2 , 67 65 বাইট

from random import*
print''.join(c for c in input()if.8>random())

এটি অনলাইন চেষ্টা করুন!

প্রতিটি চরিত্রে 20% বিচি বাদ দেওয়ার সম্ভাবনা রয়েছে।

বিভিন্ন পদ্ধতির, একই দৈর্ঘ্য:

from random import*
print''.join(c[random()<.2:]for c in input())

এটি অনলাইন চেষ্টা করুন!


একটি ফাংশন সহ পাইথন 2 এ 63 বাইট
এটিনিট

বিধিগুলি স্পষ্টভাবে একটি সম্পূর্ণ প্রোগ্রাম লিখতে বলে:Create a cat program, a.k.a a program that takes an input and prints it.
মুভাত্তিকা

এটি কেবল ইনপুটটির প্রথম লাইনটি পড়ে।
একেএম

সমস্যাটি উল্লেখ করে না যে এটি একাধিক লাইন পড়তে হয়েছিল।
মোভাটিকা

8

কাঠকয়লা , 4 বাইট

ΦS‽⁵

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

 S      Input a string
Φ       Filter where nonzero
  ‽⁵    Random number 0..4
        Implicitly print

আপনার কাছ থেকে কোনো নম্বর ব্যবহার করতে পারি 4করার 10সম্ভাবনা পেতে 25%থেকে 10%যথাক্রমে।


7

বেফুঞ্জ -98 (পাইফুঞ্জ) , 11 বাইট

>#@~3j4???,

এটি অনলাইন চেষ্টা করুন!

প্রতিটি চরিত্রের অপসারণের 25% সম্ভাবনা রয়েছে। তিনটি ?নির্দেশেই এই সিদ্ধান্ত নেওয়া হয়েছে ।

?সমান সম্ভাবনা সহ চারটি দিকের একটিতে প্রোগ্রামের কাউন্টারকে সেট করে। এই ক্ষেত্রে, উপরে এবং নীচে একই নির্দেশের প্রায় ফিরে মোড়ানো, যাতে আমরা সেগুলি বিকল্প হিসাবে উপেক্ষা করতে পারি।

এর বন থেকে দুটি উপায় আছে ?: ডানদিকে (আউটপুট) এবং বাম দিকে (আউটপুট নেই)। এই পরিস্থিতি প্রতিসম, তাই যদি মধ্যম থেকে শুরু ?, একটি হল outputting সম্ভাবনা। ডান থেকে শুরু করে আউটপুট করার হল । অতএব, একটি অক্ষর পড়ার পরে, আমরা আউটপুট হবে কি না তা নির্ধারণ করতে ডানদিকের দিকে ঝাঁপিয়ে পড়ি ।p2=1/2পি 3 = 1 / 2 * 1 + + 1 / 2 * পি 2 = 3 / 4?p3=1/21+1/2p2=3/4?


5

অক্টাভা , 23 বাইট

ইনপুট হিসাবে একই আকারের একটি অ্যারে তৈরি করে (অক্টাভাতে স্ট্রিংগুলি চরিত্রের অ্যারে হয়), এলোমেলো সংখ্যার প্রতিটি এটির চেয়ে বড় কিনা তা পরীক্ষা করে 0.2এবং তারপরে সংশ্লিষ্ট অবস্থানে অক্ষরগুলি বের করার জন্য লজিকাল ইনডেক্সিং ব্যবহার করে।

@(s)s(rand(size(s))>.2)

এটি অনলাইন চেষ্টা করুন!


5

জেলি , 9 5 বাইট

5X’µƇ

এটি অনলাইন চেষ্টা করুন!

একটি মোনাড যা জেলি স্ট্রিংটিকে তার আর্গুমেন্ট হিসাবে গ্রহণ করে এবং প্রক্রিয়াজাত জেলি স্ট্রিংটি প্রদান করে। সম্পূর্ণ প্রোগ্রাম হিসাবে ব্যবহার করা হলে আউটপুট ছাপিয়ে যায়। প্রতিটি চরিত্রের সরানোর 20% সম্ভাবনা রয়েছে।

ব্যাখ্যা

   µƇ | Filter using the following as a monad for each character:
5X    | - Random number between 1 and 5
  ’   | - Decreased by 1

5

জাপট , 3 বাইট

প্রতিটি চরিত্রের সরানোর সম্ভাবনা রয়েছে 1 থেকে 5 5 5মধ্যে কিছু পরিবর্তন করা যাবে 4& 9, সমেত, অথবা Aজন্য 10মতভেদ পরিবর্তন।

Æ5ö

চেষ্টা করে দেখুন

Æ5ö     :Implicit input of string
Æ       :Filter by
 5ö     :  Random integer in the range [0,5), with 0 being falsey


5

05 এ বি 1 ই , 5 4 বাইট

ʒ₄Ω≠

-১ বাইট @ গ্রিমিকে ধন্যবাদ ।

অনলাইনে চেষ্টা করে দেখুন বা একই প্রোগ্রামটি 10 ​​বার চালান

প্রতিটি চরিত্রের বাদ পড়ার 25% পরিবর্তন রয়েছে।

ব্যাখ্যা:

ʒ     # Filter the characters of the (implicit) input-string by:
     #  Push 1000
  Ω   #  Pop and push a random digit from it
     #  And check that it's NOT 1 (!=1)
      # (after which the result is output implicitly)

হতে পারে _( ==0)।


2
5L-1 এর জন্য হতে পারে (20% থেকে 25% এ সুযোগ পরিবর্তন করে যা এখনও গ্রহণযোগ্য)।
গ্রিমি

@ গ্রিমি চমৎকার, ধন্যবাদ! :)
কেভিন ক্রুইজসেন


4

পাইথ , 8 5 বাইট

sfO4Q

এটি অনলাইন চেষ্টা করুন!

sfO4Q   Implicit: Q=eval(input())
 f  Q   Filter characters of Q where the following is truthy:
  O4      Random number in the range [0-4)
          Any non-zero value is truthy, so this will drop characters 25% of the time
s       Concatenate into string, implicit print

পূর্ববর্তী সংস্করণ, 8 বাইট:

s*Vm!!O4

এটি অনলাইন চেষ্টা করুন!

s*Vm!!O4QQ   Implicit: Q=eval(input())
             Trailing QQ inferred
   m    Q    Map each character in Q using:
      O4       Choose random integer in [0-4)
    !!         Logical NOT twice - maps 0 to 0, anything else to 1
             The result is a list of 0s and 1s, with 0 having 25% chance to appear
 *V      Q   Vectorised multiplication of the above with Q
s            Concatenate into string, implicit print

Qইনপুটটি পাইথন-এস্কি না হলে একটি ত্রুটি ফেলবে। [1বা থেকে উদাহরণস্বরূপ ত্রুটি a/bQ, wএবং zকেবল একক-লাইন j.z
ইনপুটটির

4

কিউবিক্স , 20 বাইট

u$w\A|UDw@?;...>o._U

এটি অনলাইন চেষ্টা করুন!

আমার প্রত্যাশার চেয়ে অনেক বেশি যেহেতু আমার কাছে প্রচুর নো-অপস রয়েছে যা আমি এড়াতে পারি বলে মনে হয় না। একটি চরিত্র বাদ দেওয়ার সুযোগটি 25%। আমি ধরে নিলাম এটি ঠিক আছে।

    u $
    w \
A | U D w @ ? ;
. . . > o . _ U
    . .
    . .

এটি চালান দেখুন

সংক্ষিপ্ত বর্ণনা:

  • A|A এটি স্ট্যাকটি আরম্ভ করে, সমস্ত ইনপুট দেয়, প্রতিফলিত হয়, সমস্ত ইনপুট করুন (কেবল একটি EOI -1)
  • ;? স্ট্যাকের পপ টু, ইওআই (-1) এর জন্য পরীক্ষা করুন।
  • _?@ যদি নেতিবাচক হয় তবে পরীক্ষায় ফিরে প্রতিফলিত হয় এবং থামবে
  • $D\এলোমেলো দিক সেটারে ঝাঁপ দাও ।
    • দিকনির্ধারক থেকে, 3 দিকের oআউটপুটটির দিকে নেতৃত্ব দেয় তারপরে লুপের মধ্যে ফিরে যায়, কেউ oতার পথে মিস করে এবং সরাসরি লুপে যায়।

3

এপিএল (ডিজাইমা / এপিএল) , 10 9 বাইট এসবিসিএস

বেনামে ট্যাসিট প্রিফিক্স ফাংশন। প্রতিটি চরিত্রের সরানোর ঠিক 20% সম্ভাবনা রয়েছে chance

⊢⌿⍨4≥∘?5¨

এটি অনলাইন চেষ্টা করুন!

 প্রতিটি চরিত্রের জন্য শূন্য

? প্রতিটি চরিত্রের জন্য এলোমেলোভাবে পূর্ণসংখ্যা পরিসীমা 1-5 করে

4≥ 4 টির চেয়ে কম বা সমান সেই পূর্ণসংখ্যার জন্য বুলিয়ান মাস্ক

⊢⌿⍨ সেই মাস্কটি ব্যবহার করে তর্কটি ফিল্টার করুন


3

রেটিনা , 15 বাইট

/./_?(`.







এটি অনলাইন চেষ্টা করুন! ব্যাখ্যা:

/./_

প্রতিটি চরিত্র পৃথকভাবে প্রক্রিয়া করুন।

?(`

এলোমেলোভাবে একটি প্রতিস্থাপন সম্পাদন করুন। প্রথম প্রতিস্থাপনটি চরিত্রটিকে মুছে ফেলে, অন্য তিনটি এটি অপরিবর্তিত রেখে দেয়, ফলে 25%চরিত্রটি মুছার সুযোগ দেয়। অতিরিক্ত জোড় নিউলাইন যুক্ত করে এটি প্রয়োজনীয় হিসাবে হ্রাস করা যেতে পারে।


3

আর , 32 23 বাইট

function(x)x[rt(x,3)<1]

এটি অনলাইন চেষ্টা করুন!

একটি ফাংশন একটি অক্ষর ভেক্টরকে ইনপুট হিসাবে গ্রহণ করে এবং একটি প্রক্রিয়াজাত অক্ষর ভেক্টরকে ফিরিয়ে দেয়। প্রতিটি চরিত্রের সরানোর 20% সম্ভাবনা রয়েছে।

@ রোল্যান্ড এবং @ জিউসেপ্পিকে আরও 7 বাইট বাঁচাতে এবং @ জেডিএলকে আরও 2 জনের জন্য ধন্যবাদ!


1
function(x)x[!rbinom(x,1,0.2)]
রোল্যান্ড

@ রোল্যান্ডের মতো একই লাইন বরাবর function(x)x[rf(x,1,1)>1]; কৌশল df(1,1,1)সম্পর্কে 0.16যা হয়।
জিউসেপ

বা rt(x,3)>1(প্রায় 20% সুযোগ)
জেডিএল

2
@ জেডিএল এটি <1, তবে ধন্যবাদ! অন্য 2 জন সংরক্ষণ করেছেন।
নিক কেনেডি

3

টি-এসকিউএল 2012, 83 বাইট

ইনপুটটি ডান থেকে বামে 0 বা 1 টি অক্ষর মুছে ফেলা হচ্ছে।

প্রতিটি চরিত্রের অপসারণের 25% সুযোগ।

DECLARE @i varchar(max)='The cat ate my homework'

DECLARE @ int=len(@i)WHILE @>0SELECT
@i=stuff(@i,@,str(rand()*2)/2,''),@-=1PRINT @i

ব্যাখ্যা:

rand()*2একটি ফ্লোট ফেরত দেয় যা stuffকমান্ডে ব্যবহার করা যায় না ।

strকাছের পুরো নম্বর rounding পর varchar এই পরিবর্তন করে। ভাসা ভের্চারে রূপান্তরিত হচ্ছে (যা তৃতীয় প্যারামিটার হিসাবে অনুমোদিত stuffনয়)।

এই বার্চারটির '2' হওয়ার 25% সম্ভাবনা, '1' হওয়ার 50% সম্ভাবনা, '0' হওয়ার 25% সম্ভাবনা রয়েছে। 2 দ্বারা ভাগ করা, ফলাফল হওয়ার 25% সম্ভাবনা রয়েছে। এই বিভাগটি বার্চারে একটি পূর্ণসংখ্যায় রূপান্তর করে।

পূর্ণসংখ্যাটি stuffফাংশনে প্রত্যাশিত তৃতীয় পরামিতি ।

এটি অনলাইনে চেষ্টা করুন


খুব সুন্দর কৌশল STR, আমাকে এটি মনে রাখতে হবে। নিশ্চিত না যে DECLAREআপনার (গণনা করা) কোডটিতে আপনার (অসমাপ্ত) পিগিব্যাক করা উপযুক্ত; কিন্তু পরিবর্তন শুধুমাত্র আপনি 1 বাইট খরচ হবে, যেহেতু আপনি অতিরিক্ত বাদ দিতে পারে SETসঙ্গেDECLARE @ INT=len(@i)
BradC

@ ব্র্যাডিসি আমি সম্মত, এবং আমি ভবিষ্যতে
পিগিগ্যাক

2

জে , 10 বাইট

#~5>6?@$~#

এটি অনলাইন চেষ্টা করুন!

আদমের এপিএল উত্তরের অনুরূপ, যদিও আমি আসলে এটি দেখার আগে এটি লিখেছিলাম।

  • 6.. $~ #ইনপুটটির দৈর্ঘ্য নিন #এবং $~6 নম্বরটিকে একটি তালিকাতে আকৃতি দিন।
  • ?@তালিকার প্রতিটি ছয়টিকে ডাই হিসাবে বিবেচনা করুন এবং ?এটি রোল করুন।
  • >5ডাই কি 5 এরও কম (সম্ভাব্য মানগুলি 0..5) হয়? কিছুটা মাস্ক তৈরি করতে সেই বুলিয়ান ফলাফলটি ব্যবহার করুন।
  • #~ সেই মুখোশটি দিয়ে ইনপুট ফিল্টার করুন।


2

জাভাস্ক্রিপ্ট,  46   44  51 বাইট

i=>alert([...i].filter(c=>Math.random()>.2).join``)

যোগ করা STDOUT প্রয়োজনীয়তার কারণে +7 বাইট

-২ বাইট বিরজোলাক্সিউকে ধন্যবাদ জানায়


মূল উত্তর: STDOUT প্রয়োজন ছাড়াই 44 বাইট

i=>[...i].filter(c=>Math.random()>.2).join``

যেহেতু আপনি ফাংশনের নাম ব্যবহার করবেন না, তাই আপনাকে কেবলমাত্র ফাংশনটি সরবরাহ করার অনুমতি দেওয়া হবে । অপসারণ f=আপনাকে 44 বাইটে নামবে। আপনি অ্যারে হিসাবে ইনপুট / আউটপুটও দিতে পারেন, যা আপনাকে বেশ কিছুটা সাশ্রয় করা উচিত।
বিরজোলাক্সিউ

@ বিরজোলাক্সও আমি নিশ্চিত নই তবে আমি বুঝতে পেরেছি
ভাষাটির

হ্যাঁ, আমার মন্তব্যের পরে অ্যান্ড্রু অতিরিক্ত প্রয়োজনীয়তা সহ প্রশ্নটি সম্পাদনা করেছিলেন। এটি সাধারণত ভ্রূণ্য হয় কারণ এটি পূর্বে বৈধ ছিল এমন উত্তরগুলিকে অকার্যকর করে তোলে (এই ক্ষেত্রে এটি এমনকি বিতর্কযোগ্য যে আপনার প্রাথমিক উত্তরটি "আউটপুট অবশ্যই STDOUT এর মাধ্যমে হওয়া উচিত") ফিট করে।
বিরজোলাক্সিউ

কী join``মানে? এটি
অনুমানের

1
@ নিকজৌম এ এস in এ সমানjoin("") mdn revelent page
জোনাটজানো

2

স্কালা , 51 46 30 বাইট

s=>s.flatMap(x=>if(math.random>.2)Some(x)else None)

এটি অনলাইন চেষ্টা করুন!

গীত। অন্যান্য অনেকগুলি সমাধানের মতো, চর নেমে যাওয়ার সম্ভাবনা 20%।

হালনাগাদ:

ফ্ল্যাটম্যাপে অপশন [স্ট্রিং] এর পরিবর্তে স্ট্রিং ব্যবহার করে -5 বাইট

s=>s.flatMap(x=>if(math.random>.2)x+""else "")

ফিল্টার ব্যবহার করে 30 বাইট

s=>s.filter(x=>math.random>.2)

1
আপনি পরিবর্তন করে 7 বাইট বন্ধ শেভ করতে scala.math.randomকরতে math.randomএবং 0.2করতে .2। চমৎকার কৌশল ব্যবহার করে - যেমন।
কেজেটিল এস

@ কেজিটলস, আপনাকে ধন্যবাদ আমি সমাধান হিসাবে ফাংশন সংজ্ঞা পরিবর্তে ফাংশন আক্ষরিক পোস্ট। এটি অনুসারে এটি গ্রহণযোগ্য: কোডগল্ফ.স্ট্যাকেক্সেঞ্জার.কম
ডঃ ওয়াই উইট

2

আমার মনে হয় <1 খুব বেশি খাচ্ছে। হতে পারে <3 বা <4 সমস্যার পরামিতিগুলির সাথে মেলে। যাইহোক এটি কোডের দৈর্ঘ্য পরিবর্তন করে না।
লুকা

আমি কিছুক্ষণের মধ্যে সি # তে প্রোগ্রামিং করি নি, তবে কেন new Random().Next(5)সরাসরি সম্ভব হচ্ছে না?
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুজসেন কারণ যেহেতু প্রতিটি সংখ্যার জন্য একই বীজ ব্যবহার করা হবে, তাই প্রতিটি সংখ্যা একই হবে। কেবল এটি দিয়ে চেষ্টা করুন new Random().Next(5), আপনি যা পাবেন তা হ'ল সম্পূর্ণ ইনপুট বা কিছুই।
অজ্ঞতার মূর্ত প্রতীক

1
@ কেভিন ক্রুজসেন ব্যবহার করার সময় new Random(), ডিফল্ট বীজের মান হ'ল এনভায়রনমেন্ট T টিককাউন্ট , যা প্রতিটি মিলিসেকেন্ডে বৃদ্ধি করে। যদি তারা সবাই একই মিলিসেকেন্ড টিকে তৈরি হয় তবে তাদের সবার একই বীজ হবে। উত্তরটি কেবল র্যান্ডমের একক উদাহরণ ব্যবহার করছে এবং যখন এটি বলা হয় অভ্যন্তরীণ বীজের মান আপডেট করে - সুতরাং প্রতিবার নেক্সট () বলা হলে এটি আলাদা আউটপুট মান তৈরি করে। । নেট কোর তবে বীজ উত্পাদন করতে একটি সিঙ্গলটন আরএনজি ব্যবহার করে, তাই এটিতে এই সমস্যা নেই
জ্যাক ফারাঘর

1
@ বেনজামিন ইউরুকহার্ট স্থির করা হয়েছে, তবে 26 বাইট যুক্ত করেছেন। এছাড়াও, কেউ যুক্তি বলতে পারে না যে ইনপুটটি হতে হবে STDIN, কিন্তু restricted to STDIN or closest equivalent, এবং ফাংশন যুক্তিগুলি নিকটতম সমতুল্য হতে পারে, তবে আমি এটি করতে যাচ্ছি না
অজ্ঞতার প্রতিমূর্তি


1

সি (জিসিসি) , 50 বাইট

এই প্রোগ্রামটিতে একটি চিঠি ফেলে দেওয়ার 20% সম্ভাবনা রয়েছে। দুর্ভাগ্যক্রমে এলোমেলো সংখ্যা জেনারেটর বদ্ধ হয় না তাই আপনি প্রতিটি রানে একই ক্রম পান। মূলত একমাত্র কৌশলটি ইওএফটির লুপটি থামানোর জন্য ইনপুট চরিত্রটিকে উল্টানো।

main(c){for(;c=~getchar();rand()%5&&putchar(~c));}

এটি অনলাইন চেষ্টা করুন!

সি (জিসিসি) , 64 59 বাইট

-২ বাইটের জন্য সিলিংক্যাটকে ধন্যবাদ।

আপনি চাইলে প্রতিটি রান করে আরএনজি বদ্ধ করা যায়।

main(c){for(srand(&c);c=~getchar();rand()%5&&putchar(~c));}

এটি অনলাইন চেষ্টা করুন!


main()কোড গল্ফ জমা দেওয়ার জন্য আপনাকে ব্যবহার করতে হবে না , আপনি একটি স্বেচ্ছাসেবী ফাংশনও সংজ্ঞায়িত করতে পারেন যা প্রয়োজনীয় হয় তা করে। সুতরাং আপনি লিখতে পারেন f(c){...}
জি স্লিপেন

1

লুয়া , 69 68 বাইট

for c in io.lines(nil,1)do io.write(math.random()>.2 and c or '')end

এটি অনলাইন চেষ্টা করুন!

কিন্ডা সোজা, তবে সংক্ষিপ্ত সংস্করণ বলে মনে হচ্ছে: স্টিডিন চরের উপর দিয়ে চার দিয়ে পুনরাবৃত্তি করুন (এর সাথে io.lines… সেই নামটি বিভ্রান্তিমূলক), তারপরে এলোমেলো মানের উপর ভিত্তি করে হয় একটি বা খালি স্ট্রিং (যেমন কিছুই নয়) মুদ্রণ করুন।


1

জাভা

অবসানহীন: 82 বাইট by

v->{for(int i;;i=System.in.read(),System.out.print(Math.random()<.2?"":(char)i));}

সমাপ্তি (টিআইও): 105 বাইট

v->{var n=System.in;for(int i;n.available()>0;i=n.read(),System.out.print(Math.random()<.2?"":(char)i));}

স্টাডাউট নিয়ে কাজ করা কি সত্যিই প্রয়োজনীয়? অন্যান্য উত্তরগুলি কেবল একটি স্ট্রিং রূপান্তর করে একটি ফাংশন তৈরি করে। জাভার প্রতি অন্যায় বলে মনে হচ্ছে। যদি এই সি # সমাধানটি বৈধ হয় তবে s->s.filter(c->Math.random()<.2)তাও।
হোলার

@Holger Input is restricted to STDIN or closest equivalent.এবং Output must be through STDOUT or the closest equivalent. If your language does have STDOUT, do not output in any other way.তাই কোন, যে উত্তর বৈধ নয়
বেঞ্জামিন Urquhart

1

Zsh , 53 41 বাইট

-12 , গামা ফাংশন ধন্যবাদ

41 বাইট: এটি অনলাইনে চেষ্টা করুন!

ইনপুটটিকে অক্ষরের একটি অ্যারে রূপান্তর করে, তারপরে প্রতিটি উপাদান মুদ্রণের চেষ্টা করে c, যদি না এটি ((RANDOM%4))মূল্যায়নের দ্বারা ভুতে না খায় !

for c (${(s::)1})((RANDOM%4))&&echo $c\\c

53 বাইট: এটি অনলাইন চেষ্টা করুন!

স্ট্রিং-দৈর্ঘ্যের চেয়ে আরও সরল, তবে ভারবস, পুনরাবৃত্তি।

for ((;i<$#1;i++)){((RANDOM%4>0))&&echo "${1[i]}\c";}

1
স্মার্ট ব্যবহারের কথা \cমনে পড়ে না! এখনও কয়েকটি অপ্টিমাইজেশন করা দরকার ...
গামা ফাংশন

দুর্দান্ত, চতুর ব্যবহার RANDOMএবং অ্যারে রূপান্তর
রোব্লোগিক

1

Zsh , 50 বাইট

for c (${(s::)"$(<&0)"})
((RANDOM%5))&&echo -nE $c

এটি অনলাইন চেষ্টা করুন!

রবলজিকের উত্তরের মতো, তবে ইনপুট প্রয়োজনীয়তা আরও ঘনিষ্ঠভাবে অনুসরণ করা এবং ব্যাকস্ল্যাশগুলির সাথে ইনপুটগুলির জন্য কাজ করে।

"$(<&0)"পরিবর্তে "<&0"বা $(<&0)কারণ প্রথম বিকল্পগুলিতে কাজ করে না, এবং দ্বিতীয়টি নিউলাইন খায়। -nEপতাকা পালাবার ক্রম হিসাবে পার্স হওয়া থেকে ব্যাকস্ল্যাশ বাধা দেয়া এবং নতুন লাইন ঢোকানো হচ্ছে প্রতিরোধ প্রয়োজন।

echo -nE


1

ম্যাথগল্ফ , 5 বাইট

æƒ√∞*

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

æ       foreach character...
 ƒ      random float in range [0,1)
  √     take square root (making P(x < 0.5) = 0.25)
   ∞    pop a, push 2*a
    *   repeat character int(x) times

প্রতিটি অক্ষর এলোমেলো মানের উপর নির্ভর করে 0 বা 1 বার পুনরাবৃত্তি হবে। বর্গমূলের স্থানান্তরিত হওয়ার পরে প্রত্যাশিত মানটি যেহেতু, প্রতিটি অক্ষর অপসারণের 25% সম্ভাবনা রয়েছে।

বিকল্প 5 বাইটার

gÉ;4w

[0, 4] এ এলোমেলো সংখ্যা দ্বারা অক্ষরগুলি ফিল্টার করুন। ফিল্টারিং কীভাবে কাজ করে তার কারণে আমাকে ফিল্টার লুপের মধ্যে প্রকৃত চরিত্রটি ফেলে দিতে হবে, যা 1 বাইট যুক্ত করে।


0

জিফোর্টরান , 120 বাইট

খুব খারাপ নয়, যদি আমরা অবচয়িত RAN()ফাংশনটি ব্যবহার করি যা সিউডো- র্যান্ডম, অর্থাৎ আপনি প্রতিবার একই ক্রমটি পান। GFortran এ এলোমেলো সংখ্যা উত্পন্ন করার সঠিক উপায়টি রয়েছে CALL RANDOM_SEED()এবং CALL RANDOM_NUMBER(R)এটি অনেকগুলি বাইট!

character(99)S;read(*,'(A)')S;do i=1,len_trim(S)
if(ran(0)*5.gt.1)then;write(*,'(A)',advance="no")S(i:i)
endif;enddo;end

এটি অনলাইন চেষ্টা করুন!


1
সিউডো এলোমেলোভাবে অনুমতি দেওয়া হয়, যদি এটি আপনাকে এলোমেলোভাবে পদক্ষেপ নিতে হয় তবে এলোমেলো পদক্ষেপ গ্রহণ করতে হবে।
অ্যান্ড্রু

0

ওরাকল এসকিউএল, 133 বাইট

select listagg(decode(sign(dbms_random.value-0.2),1,substr(x,level,1)))within group(order by level)from t connect by level<=length(x)

এটি এমন একটি অনুমানের সাথে কাজ করে যে ইনপুট ডেটা একটি টেবিল টি (x) এ সংরক্ষণ করা হয়, যেমন

with t(x) as (select 'The cat ate my homework' from dual)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.