ফক্স সোর্স কোড


23

উত্স কোডের প্রতিটি অক্ষরের জন্য একটি করে এলোমেলো অক্ষর আউটপুট দিন (নীচে চিত্রিত হিসাবে)। প্রতিটি অক্ষরের সম্ভাবনা হ'ল মূল উত্স কোডের তার ফ্রিকোয়েন্সি। সুতরাং আউটপুট একটি জাল অনুরূপ জাল উত্স কোড হবে।

সবিস্তার বিবরণী

  • বিধিনিষেধ
    • স্ট্যান্ডার্ড সীমাবদ্ধতা প্রযোজ্য। কোনও খালি প্রোগ্রাম বা ফাংশন নেই। এছাড়াও আপনার নিজস্ব উত্স পড়া হয় না।
  • আউটপুট
    • অক্ষরের আউটপুটের সংখ্যা উত্স কোডের অক্ষরের সংখ্যা হতে হবে
    • প্রতিটি আউটপুট অক্ষর এলোমেলোভাবে চয়ন করা উচিত
    • যে কোনও চরিত্র বেছে নেওয়ার সম্ভাবনা সমান (occurrences in source) / (length of source)
    • এর অর্থ হ'ল এমনকি একটি অযৌক্তিক সমাধানকে 1সম্ভাব্যতার সাথে 'এলোমেলোভাবে' বেছে নেওয়া দরকার 1। কোনটি বলে যে আউটপুটটি হার্ড কোডিং করা যায় না।
  • জয়লাভ
    • এটি কোড গল্ফ, তাই খুব কম বাইট জিতেছে

উদাহরণ

Program           Frequency           Probability           Possible Output
-------           ---------           -----------           ---------------           
 a@!@              a - 1               a - 25%               @@a@
                   ! - 1               ! - 25%
                   @ - 2               @ - 50%
Program           Frequency           Probability           Possible Output
-------           ---------           -----------           ---------------
caBaDBcDaBDB       a - 3               a - 25%               aaaBBBBccDDD
                   B - 4               B - 33%
                   c - 2               c - 17%
                   D - 3               D - 25%

একক-অক্ষর কুইন অনুমোদিত?
নাথান মেরিল

@ নাথানমিরিল হ্যাঁ, একক চরিত্র (এবং অন্যান্য আনারারি) সমাধান অনুমোদিত। যাইহোক, তাদের আউটপুট এখনও এলোমেলোভাবে চয়ন করা প্রয়োজন।
ননলাইনফর্ট

যদি আমাকে কোনও ফাইল পড়ার অনুমতি না দেওয়া হয় তবে আমি কীভাবে অক্ষরের উপস্থিতিগুলি খুঁজে পাব?
তিতাস


1
@ ভোলএন্ড নং প্রতিটি অক্ষরের উপস্থিতির সম্ভাবনা চরিত্রের ফ্রিকোয়েন্সি ভিত্তিক। আপনি যদি একটি মুদ্রা দুইবার টুসকি এবং এটি একবার মাথায় জমি, এটা না আছে দ্বিতীয় সময় মুদ্রার উলটা পিঠ গায়ে হাত রয়েছে।
wizzwizz4

উত্তর:


8

সিজেম , 14 বাইট

{{E*`mR}`mR}E*

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

ব্যাখ্যা

প্রতিটি অক্ষর হুবহু দু'বার প্রদর্শিত হয়, সুতরাং চরিত্রগুলির সম্ভাব্যতা একই রকম হওয়া উচিত।

{           e# Repeat this block 14 times.
  {E*`mR}   e# Push this (nonsensical) block.
  `         e# Stringify it, giving the string "{E*`mR}", which contains each of the
            e# seven characters once.
  mR        e# Select one of the characters at random.
}E*

7

জেলি , 13 বাইট

“;⁾vṾWṁ$X€”vṾ

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

কিভাবে এটা কাজ করে

“;⁾vṾWṁ$X€”vṾ  Main link. No arguments.

“;⁾vṾWṁ$X€”    Set the argument and return value to the string s := ';⁾vṾWṁ$X€'.
            Ṿ  Uneval; construct a string representation of s.
               This yields r := '“;⁾vṾWṁ$X€”'.
           v   Dyadic eval; evaluate s with argument r.


 ;⁾vṾWṁ$X€     Evaluated link (s). Argument: r

  ⁾vṾ          Yield 'vṾ'.
 ;             Concatenate r with 'vṾ'.
               This yields t := '“;⁾vṾWṁ$X€”vṾ', i.e., the original source code.
       $       Combine the previous two links into a monadic chain.
     W           Wrap; yield ['“;⁾vṾWṁ$X€”vṾ'].
      ṁ          Mold; repeat ['“;⁾vṾWṁ$X€”vṾ'] once for each charcter in t.
        X€     Random each; select a character, uniformly at random, of each
               of the 13 repetitions of t.

6

পার্ল, 59 বাইট

$_=q{$_.='$_=q{};eval';@a=/./g;s/./$a[rand@a]/g;print};eval

আমি একটি বিদ্যমান কুইনকে ভিত্তি হিসাবে ব্যবহার করেছি এবং উত্সের সামগ্রীগুলি থেকে এলোমেলো অক্ষর মুদ্রণের জন্য এটি সংশোধন করেছি।

ব্যবহার

হিসাবে সংরক্ষণ করুন faux-source-code.plএবং ব্যবহার করে চালান:

perl faux-source-code.pl

নিম্নলিখিতগুলির মতো কিছু উত্পাদন করে:

$d='=a{f.gng$d._{{{ag{ed{aa;ae/r$no{a]_q}/$;_}lrq=r_=;_;=$'
vptr.q'ap.vaa@}@{iel];na;f.o/qon/fa}ie;=e{/a}/ag.$vaiqa_gv'
$_..'daq;.;/./.@._ogd;@aapqirv/;nrp=}@$}a/i;vq;.l.l@i}g]qq'
va==/t@dl.fe'}ar.l@n;_tve@=n$;$}$.l'p{a@qv._qag@dgr_$/.$/;v
q{/@d;@a;a_=g_r$r/.qar{=[gnr';@;$qgvad;$===/$//i]}g[tr@@.q}

একটি সংক্ষিপ্ত পরীক্ষায়, evalসফলভাবে প্রোগ্রামটির ফলাফলের ~ 3% । পার্ল সম্পর্কে যা বলে তা আমি নিশ্চিত নই ...


আহ, এই মন্তব্য সম্পর্কে সফল 3% eval! সুন্দর! ;-)
দাদা

@ দাদা সিরিয়াসলি! উত্তরের জমাটি সত্যই কাজ করে! আমি বেশ মুগ্ধ হয়েছিলাম ...
ডম হেস্টিংস

আশা করছি, আমি যা দেখেছি থেকে, এটা ঠিক আউটপুট থেকে একটি সমগ্র একক উদ্ধৃত পংক্তি হচ্ছে আসে না (এর সাথে 'বা q//, q{}ইত্যাদি)!
দাদা

@ দাদা হ্যাঁ, বা একটি রেজেক্স ম্যাচ। আমাকে চক্কর বানিয়েছে যদিও! :)
ডম হেস্টিংস 21

1
বিটিডব্লিউ আপনাকে আবার গল্ফ করে দেখে খুশি! :)
দাদা

4

জাপট , 22 বাইট

"+Q ²£ZgMqB"+Q ²£ZgMqB

এটি অনলাইন পরীক্ষা!

কিভাবে এটা কাজ করে

"+Q ²£ZgMqB"+Q ²£ZgMqB  // Implicit: B = 11
"+Q ²£ZgMqB"            // Take this string.
            +Q          // Append a quotation mark.
               ²        // Double the result.
                £       // Replace each char in the result Z with
                 Zg     //  the char in Z at index
                   MqB  //   random integer in the range [0, 11).
                        // Implicit: output last expression

4

পাইথ, 16 বাইট

smO+N"m1NOs+6"16

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

প্রতিটি চর দুবার অন্তর্ভুক্ত তাই সম্ভাবনা একই রকম যদি প্রত্যেকে কেবল একবার সেখানে ছিল।

smO+N"m1NOs+6"16     #
   +N"m1NOs+6"       # Add a quotation mark to the string: "m1NOs+6
  O                  # random choice from the string
 m            16     # do this 16 times.
s                    # join the list into a string

3

পিএইচপি, 71 140 110 124 140 120 বাইট

for($i=2*$n=strlen($s='for($i=2*$n=strlen($s=.chr(39));$i--;)echo$s[rand(0,$n-1)];'.chr(39));$i--;)echo$s[rand(0,$n-1)];

সাথে চালানো php -d

  1. উদ্ধৃতি চিহ্ন ছাড়াই কোড সহ একটি স্ট্রিং তৈরি করে
  2. এবং একবার ব্যবহার করে উদ্ধৃতি চিহ্নকে সম্মতি জানায় ord
    (একই সম্ভাবনা যেমন আমি স্ট্রিং দ্বিগুণ করব এবং দুটি উদ্ধৃতি যুক্ত করব);
  3. তারপরে এলোমেলো অক্ষর পেতে স্ট্রিংয়ের দৈর্ঘ্যের দ্বিগুণ হয়ে যায়।

সম্ভবত আরও গল্ফ করা যেতে পারে, কিন্তু এখন পর্যন্ত যেখানে বৃথা যায় সেদিকে আমার প্রচেষ্টা।
আমি সম্ভবত এখানে গভীরতর যেতে হবে না।


1
The probability of each character is its frequency in the original source code.আমি ভুল হতে পারি, তবে এই এন্ট্রিটি এই প্রয়োজনীয়তার সাথে মিলছে বলে মনে হচ্ছে না।
ETH প্রোডাকশনস

ওহ আমি এই পয়েন্ট মিস করেছি। সম্পাদক ফিরে। কোডটি না পড়ে কীভাবে এটি করা যায়?
তিতাস

ব্যবহার এই , আমি একটি পেয়েছিলাম syntax error, unexpected '<'। তবে আমি পিএইচপি এর সাথে পরিচিত নই, আমি এটি কীভাবে পরীক্ষা করব?
ননলাইনফর্ট

@ ননলাইনারফ্রুট: আপনি -d পতাকা ব্যবহার করেছেন? এটি কোনও ফাইলে সংরক্ষণ করার কথা রয়েছে এবং তারপরে কোনও পতাকা সহ phpবা php-cgiছাড়াই ডাকা হবে । হতে পারে আপনি একটি হেরডোক ব্যবহার করতে পারেন।
টাইটাস

@ ননলাইনারফ্রুট: ... বা কেবল <?ব্যবহারের জন্য অগ্রণী সরিয়ে দিন -d
তিতাস

3

পাইথন 2, 88 বাইট

s='''from random import*; print "".join(choice(s) for c in "s='"+s+"';exec s")''';exec s

এটি পেতে সমস্ত প্রকৃত যোগ্যতা mbomb007 এ যায় - আপনার সহায়তার জন্য ধন্যবাদ (এবং ব্যাকস্ল্যাশগুলির বিষয়ে নির্দেশক)


1
এটি একটি কুইনের মতো চ্যালেঞ্জ, আপনার উত্স কোডটি ইনপুট ছাড়াই বা পড়া ছাড়াই (ধরুন এটি nঅক্ষর দীর্ঘ) তবে আপনাকে nএলোমেলো অক্ষর মুদ্রণ করা দরকার । যেখানে প্রতীকটি cনির্বাচিত হওয়ার সম্ভাবনা সমান (number of times c occurs in your solution) / n
ননলাইনফর্ট

এরকম আরও কি? exec("""s = 'from random import choice; print "".join([choice(s) for c in s])'; exec(s)""")
ব্যবহারকারী59421

আপনি এখনও একক উদ্ধৃতি অন্তর্ভুক্ত করেননি, এবং আপনার মধ্যে বর্গাকার বন্ধনী প্রয়োজন নেই join
mbomb007

ধন্যবাদ - এবং ঠিক আছে, আমি সমাধানের দিকে
ঝাঁকুনির

1
এখানে আপনি যান: s='''from random import*;print"".join(choice(s)for c in s+"s='';''exec s''")''';exec s। আমি আশা করি আমি এটি ভেবেছি
mbomb007

3

রুবি, 47 বাইট

eval r="47.times{$><<('eval r=%p'%r)[rand 47]}"

এটি স্ট্যান্ডার্ড evalকুইনের উপর ভিত্তি করে :

eval r="$><<'eval r=%p'%r"

এটি সংক্ষিপ্ততম কুইনের চেয়ে দীর্ঘতর একটি বাইট, তবে এটি সাধারণীকৃত কুইনের জন্য সাধারণত ভাল পছন্দ, কারণ উত্স কোড স্ট্রিংয়ে করা কোনও গণনা সদৃশ হওয়ার দরকার নেই need সাধারণ কুইনে, প্রতিটি অতিরিক্ত গণনার মূল স্ট্রিংয়ের ভিতরে এবং বাইরে উভয় দিকে যেতে হয়, তবে এই জাতীয় কুইনের জন্য কেবল মূল স্ট্রিংয়ের অভ্যন্তরে এটি প্রয়োজন।

কোডটি আসলে কী করে তা: সম্পূর্ণ উত্স কোডটি উপস্থাপন করে একটি স্ট্রিং পাওয়ার পরে আমরা কেবল একটি এলোমেলো অক্ষর (একটি র‌্যান্ডম সূচক নির্বাচন করে) 47 বার নির্বাচন করি এবং প্রতিটি অক্ষর পৃথকভাবে মুদ্রণ করি।


3

ওল্ফ্রাম ভাষা / গণিত, 109 বাইট

Function[Print[StringJoin[RandomChoice[StringSplit[StringJoin[ToString[FullForm[Slot[0]]],"[]"],""],109]]]][]

নমুনা আউটপুট:

niPi[no,ili[Siu[,Sdoio9nthg"t ginuu[1[o]"i,icgi[0TncrS"[ln"o0]r,i][Jon[[et]0"]m [ri"a[]motrin,iFoFnultnnno,Jl

ওহ এই বর্গাকার বন্ধনী।


2

জেলি, 44 বাইট

আমি আশা করি যে আমি সমস্ত নিয়মকে সঠিকভাবে ব্যাখ্যা করেছি (আমি "ক্যারি পেওলোড" জিনিসটি মেটাতে কী আছে বা এটি যদি এই চ্যালেঞ্জের সাথে এমনকি প্রাসঙ্গিক হয় তবে আমি পুরোপুরি নিশ্চিত নই )।

“ẋ2;8220Ọ;8221ỌXµ44СḊ”ẋ2;8220Ọ;8221ỌXµ44СḊ

ট্রাইআইটঅনলাইনে এটি পরীক্ষা করে দেখুন

এটি একটি স্ট্রিং তৈরি করে যা থেকে অক্ষর চয়ন করতে পারে। প্রাথমিক স্ট্রিংটিতে খোলা এবং নিকটবর্তী উদ্ধৃতিগুলি বাদে ব্যবহৃত সমস্ত অক্ষর রয়েছে । এটি তারপরে দ্বিগুণ হয়ে যায় এবং অধ্যাদেশগুলি থেকে প্রতিটি খোলা এবং ঘনিষ্ঠ উক্তিগুলির মধ্যে একটির সাথে সংযুক্ত করে (অন্য অক্ষরের দ্বিগুণ করার প্রয়োজন)। শেষ অবধি এটি বারবার রচনাযুক্ত স্ট্রিং থেকে প্রোগ্রামের দৈর্ঘ্য পর্যন্ত এলোমেলো অক্ষর বেছে নিয়েছে।


1
@ ননলাইনারফ্রুট উফস - আমি আমার স্ট্রিং থেকে মিস করা চরিত্রটি যুক্ত করতে আপডেট করেছি তবে 44-এ আপডেট হয়নি - ধন্যবাদ!
জোনাথন অ্যালান

2

পাইকে, 35 বাইট

35F\";"\\+3322 5**F;H)s"\"2*+2* H)s

এখানে চেষ্টা করুন!

চেক করতে: চূড়ান্তটি সরিয়ে ফেলুন Hএবং ফলস্বরূপ স্ট্রিংয়ে প্রতিটি অক্ষরের সঠিক সংখ্যা রয়েছে (অতিরিক্ত সহ H)

এটি সাধারণীকৃত কুইন বা বাস্তবে একটি কুইন ব্যবহার করে না। এটি উত্সের সমস্ত অক্ষর সমন্বিত একটি স্ট্রিং তৈরি করতে সক্ষম হওয়ার উপর নির্ভর করে। এটি কোনও কোডের জন্য এটি করতে সক্ষম হওয়া উচিত তবে প্রতিটি অক্ষর লোগারিথে কোডের আকার বাড়ায়। উত্সটিতে একটি চরিত্রের কেবলমাত্র অনুমোদিত সংখ্যা 2 বা 7


2

রুবি, 81 67 বাইট

মার্টিনের সমাধান থেকে কিছু কৌশল চুরি করে একগুচ্ছ বাইট সংরক্ষণ করেছেন

s="s=%p;67.times{$><<(s%%s)[rand 67]}";67.times{$><<(s%s)[rand 67]}

আমি বুঝতে পারিনি যে আপনাকে প্রতিবার এলোমেলোভাবে নির্বাচন করতে হবে; আমি ভেবেছিলাম একটি রদবদল কৌশলটি করবে। এটি সম্ভবত গল্ফ করা যেতে পারে, তবে এটি আমি এটির চেয়ে স্বল্পতম পেতে পারি।

স্ট্যান্ডার্ড রুবি কুইনকে কয়েকটি পরিবর্তনের জন্য তাই এটি শ্যাফলেড স্ট্রিংটি মুদ্রণ করে। আমি দুঃখিত, কারণ আমি বুঝতে পারি যে অবচেতনভাবে যে কোনওভাবেই এটি চুরি করছি before

আমি মনে করি স্ট্রিং এলোমেলো ছোট করা যেতে পারে তবে কীভাবে জানি না; আমি এর মধ্যে কিছু চিন্তাভাবনা করা গেলে আমি ফর্ম্যাটটিকে আরও ছোট করে ফিনগল করতে সক্ষম হতে পারি। সাহায্য প্রশংসা করা হবে।

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


আমি মনে করি (আমার সিজেএমের মতো) উত্তর, এটি ভিত্তি হিসাবে একটি মানক কুইন ব্যবহার করার প্রয়োজন নেই। আমার সিজেএম সমাধানের একটি সরাসরি পোর্ট 64৪ বাইট দেয়:64.times{$><<"64.times{$><<.inspect[rand 32]}".inspect[rand 32]}
মার্টিন

কিছুই নয়, এটি একটি স্ট্যান্ডার্ড কুইনে ভিত্তি সংক্ষিপ্ত, তবে আপনাকে অবশ্যই বেভাল ভিত্তিক কুইনটি ব্যবহার করতে হবে:eval r="47.times{$><<('eval r=%p'%r)[rand 47]}"
মার্টিন এন্ডার

আমার মনে হয় @ মার্টিনএন্ডার এর নিজস্ব উত্তর মেটাতে যথেষ্ট আলাদা। যদি আপনি দ্বিমত পোষণ করেন তবে নির্দ্বিধায় এটিকে আমার মধ্যে সম্পাদনা করুন তবে মাঝামাঝি সময়ে আমি আমার কিছু বাইট সংরক্ষণ করার জন্য আপনার কাছ থেকে কয়েকটি কৌশল চুরি করব।
ফান্ড মনিকার লসুইট

2

সি, 125 বাইট

char*s="char*s;l,i;f(){l=i=strlen(s);while(i--)putchar(s[rand()%l]);}";l,i;f(){l=i=strlen(s);while(i--)putchar(s[rand()%l]);}

গ, গল্ফযুক্ত, তবে কোনও স্ট্রিং নেই এমন কোয়াইন কোডের জন্য 60 বাইট

l,i;f(char*s){l=i=strlen(s);while(i--)putchar(s[rand()%l]);}

অক্ষর গণনা করার সময় আমার সমাধানটির প্রয়োজন 86:

c[256];i;f(char*s){i=256;while(*s)c[*s++]++;while(--i)while(c[i]?c[i]--:0)putchar(i);}

এটা করা উচিত নয়? সম্ভবত আমি এই কুইজের নিয়মগুলি বুঝতে পারি না। আমার fস্ট্রিং লাগে এবং স্ট্যান্ডার্ড আউটপুট প্রিন্ট করে: স্ট্রিং অক্ষরের যে কোনও ক্রম হতে পারে।
ভোল্যান্ড এবং

@ ননলাইনারফ্রুট সম্ভাব্যতা গণনা করা হয় নি তবে প্রকাশের rand()%LENGTH_OF_STRINGদ্বারা সরবরাহ করা সাধারণ বিতরণ সহ সেই চরিত্রের সম্ভাবনা অনুযায়ী চরিত্র গ্রহণ করে rand()। সম্ভবত, আমি quineসি-এর পক্ষে দৃষ্টিভঙ্গি বুঝতে পারি না ...
ভল্যাণ্ড এবং

+1 নতুন সমাধানটি প্রায় সঠিক। sশুধু ধারণ করা প্রয়োজন char*s="";। আমি মনে করি এরকম কিছু char*s="char*s=l,i;f(){l=i=strlen(s);while(i--)putchar(s[rand()%l]);};+''"+'""'এটি করবে (তবে আমি সি এর সাথে পরিচিত নই)।
ননলাইনফর্ট

উত্তরটি যদি তার বর্তমান অবস্থায় বৈধ না হয় তবে তা মুছে ফেলা উচিত।
mbomb007

@ mbomb007 আপনি কি আপনার রায় ব্যাখ্যা করতে পারেন এবং সম্ভবত পরামর্শ আসতে পারেন?
ভোল্যান্ড এবং

2

জাভাস্ক্রিপ্ট, 128 বাইট

a=";a+=uneval(a);alert(a.replace(/./g,_=>a[Math.random()*64|0]))a=";a+=uneval(a);alert(a.replace(/./g,_=>a[Math.random()*64|0]))

দ্রষ্টব্য: শুধুমাত্র ফায়ারফক্সে ব্যবহারের কারণে কাজ করে uneval

নমুনা রান:

)a(rgc=d6m_a4uar=hp(lll(,d=m=dee(M(gtraoan0)(M(aaaa(M]c)e)/M()/u//M6_n/a"*unea(/>atugrn(a=nav"|;)|=)/,ataa,aaangtue;am)t0;|ctoa/
=lvct;eee,,a.e=6r0;);Mtaaoa.aeea4)a[r.6]e/ll+l.)=)|a[(c"rao4ea/=_acaMh=veerva"a(_(d(l)lgn.;rM">=ea40a*).e(h(laa6r)4a)rhlar=t(ta[
[rt]ll]n))aota.e)g;>ae*;..4tt];l[;].*lnr4(mnM|alg(a.ag(.=e(a>>aa>.hga;a/pat+elc];apc=(ag)tao.).ll4u)dah]r(ul)>lr;,)ret(e/g(=_c*r
M.r)_;.a(lraalg("mac>dmrlr"0/ah(a()ead|/0a(m.|u0)(a(0_[dn)a]/raal;eata)a.ataeaa*l)=ra()la=(a)*aaea>n;.a.)ca)orM(tm*a,a=)p;(>r)aa

আমি এখন সত্যিই অবাক হয়েছি যে এটি পার্সে জেএসের চেয়ে বেশি বৈধ কোড তৈরি করেছে! এখানে যত মজাদার কথা বলা যায় না, তা ছাড়া gtraoanআমার ধারণা প্রায় হাহাকার ...
ডম হেস্টিংস

1
@ ডোমহাস্টিংস ওয়েল, পার্ল জেএসএসের তুলনায় বিরামচিহ্নগুলির চেয়ে বেশি বেশি;)
ইটিএইচ প্রোডাকশনস

স্পষ্টভাবে! এটি একটি বিরামচিহ্ন কারখানায় বিস্ফোরণের চেয়ে বিরামচিহ্নগুলির আরও বেশি গোলমাল! তবে আমি বেশ পছন্দ করি!
ডম হেস্টিংস

"দেখানোর সম্ভাবনা আছে কি ?
ননলাইনফর্ট 21

1
নিবন্ধন করুন প্রথম, দ্বিতীয় এবং শেষ উদাহরণ আউটপুটগুলিতে কমপক্ষে একটি রয়েছে।
ইটিএইচ প্রডাকশনগুলি

1

পাইথন 3, 134 132 বাইট

আমি আমার উত্স কোডের প্রতিটি অক্ষরকে স্ট্রিংয়ের মধ্যে সঠিক সময়ের সাথে সংখ্যায় ব্যবহার করি, তারপরে স্ট্রিংটিকে নিজের সাথে অন্তর্ভুক্ত করতে দুটি দিয়ে গুণ করে। প্রোগ্রামটি কোডের প্রতিটি অক্ষরের জন্য স্ট্রিং থেকে একটি এলোমেলো অক্ষর মুদ্রণ করে (দৈর্ঘ্যটি হার্ড-কোডড is)

from random import*
for i in[0]*134:print(choice("""from random import*
for i in[0]*134:print(choice(""*""2""),end='')"""*2),end='')

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

আমি প্লেগের মতো ব্যাকস্ল্যাশ এড়িয়ে চললাম। যত তাড়াতাড়ি কোড রয়েছে যেমন \nবা \", আপনি একটি সমস্যা আছে, কারণ স্ট্রিং এখনো ব্যাকস্ল্যাশ ধারণ করে না, তাই আপনি ঐ এছাড়াও যোগ আছে, কিন্তু একটি পৃথক স্ট্রিং একটি উচ্চ সংখ্যা দ্বারা গুন, এক প্রতিনিধিত্বকারী কারণ এটি দুই ব্যাকস্ল্যাশ লাগে ( \\)।

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

i(tc*"3]i o''r=,,,h34t"r
ri"](fco t)niap)t "it2nc0o  npoi3'"nto(*4 i(ido' r*4f"oi]d rm ,i"eif)m"d
m emi
dfr n*p 3*(i""r1d"dr menc hio'

আমি বলতে চাই, এটি আমাকে ব্লগস্ক্রিপ্টের কথা মনে করিয়ে দেয়।


1

পাওয়ারশেল ভি 2 +, 175 বাইট

$d='$d={0}{1}{0}{2}-join(0..174|%{3}[char[]]($d-f [char]39,$d,"`n",[char]123,[char]125)|Random{4})'
-join(0..174|%{[char[]]($d-f [char]39,$d,"`n",[char]123,[char]125)|Random})

PowerShell মধ্যে Quines, স্তন্যপান কারণ স্ট্রিং রিপ্লেসমেন্ট বিভেদক {}এছাড়াও বোঝাতে loops এবং যে কোন বস্তু, তাই আপনি যদি একটি ব্যবহার করতে হবে গুচ্ছ এর charমধ্যে গুলি -fঅপারেটর, যা কোড bloats।

আমার লাইনে প্রতিটি লাইনের উত্তরের অনুরূপ is মূলত আমরা থেকে লুপ 0থেকে 174এবং প্রতিটি পুনরাবৃত্তির পুনরায় ক্যালকুলেট quine $d, একটি যেমন নিক্ষেপ char-array, এবং একটি বৈঠাচালনা আউট Randomউপাদান ইনপুট থেকে অবিশেষে চয়ন করা হয়েছে। সংজ্ঞা অনুসারে, এটি (occurrences in source) / (length of source)প্রয়োজনীয়তা হিসাবে সম্ভাব্যতা দেয় । এই অক্ষরগুলি প্যারেন্সে এনপ্যাপুলেটেড হয় এবং -joinএকসাথে ফিরে স্ট্রিংয়ে থাকে।

উদাহরণ

PS C:\Tools\Scripts\golfing> .\faux-souce-code.ps1
}}[${hr[`ini}}] [5i,=[]0,j2($=n4(dm]jh]jc]]7
}..j"rnj9|fn,4r]{9]('["jdh0}$rd,-f,a.c"}{h1 ]5d,),0n5|nh(]73a9da4aRi[5}a}430}}rd$,$r)-hhr%or79-R.R-`'r'aa|=1f0][|[{7}do1]$ja0 rd{h

(হ্যাঁ, এটি আউটপুটে একটি নতুনলাইন - যখন একটি নতুন লাইনের সমন্বিত স্ট্রিং char-আর্রেড করা হয়, তখন `nএটি একটি অক্ষর হিসাবে বিবেচিত হয়, যেহেতু একটি- charঅ্যারে কেবল বাইট কোডগুলির একটি অ্যারে, তাই এটিতে 1/175 তমও রয়েছে নির্বাচিত হওয়ার সম্ভাবনা।)


1

ডায়ালগ এপিএল , 20 বাইট

f←{(,⎕CR'f')[?⍴⍨20]}

f←{... হিসাবে }সংজ্ঞা

(,⎕CR'f')লিসিফাইটিড ( ,) সি হ্যারাক্টার (টেবিল) আর এপ্রিজেটেশন ( ⎕CR) এর ( 'f')

[?⍴⍨20]( [... ]) র‌্যান্ডম-আপ-টু ( ?) পুনরায়-নিজেই-বার (⍴⍨ ) বিশ এর সাথে সূচকযুক্ত

আসুন আমরা এটি কয়েকবার চালিত করব (একটি ছদ্মবেশী যুক্তি দিয়ে):

      f
)0'0](⍨(([],}⎕))⎕'f2
      f
{'['}f[←R[)2←?}⍨]}C2
      f
,,⍨←?2}⍴?'⍨}C,'{⎕(C0

ভাল, তবে বিতরণ কি সঠিক? আসুন এটি 10,000 টি ডামি আর্গুমেন্টগুলিতে চালানো যাক এবং প্রতিটি অক্ষর কতবার ঘটেছিল তা দেখুন:

      {⍺ , 1E¯4× ⍴⍵}⌸  f¨ 1E4
C 0.9952
 0.9996
' 1.9777
f 2.004 
← 1.0018
⍨ 1.0173
0 1.0213
] 1.0049
[ 0.9988
2 0.9943
{ 0.9895
) 1.0093
R 1.0054
, 1.0029
? 0.9943
} 0.9861
⍴ 1.0032
( 0.9944

স্পষ্টতই, fএবং 'অন্যান্য উত্সর দ্বিগুণ হিসাবে আসল উত্স কোডের মতো ঘটে।

আমরা এটি কিভাবে করেছিলাম?

{⍺ , 1E¯4× ⍴⍵}⌸  f¨ 1E4`

⍳1E4 প্রথম 10,000 পূর্ণসংখ্যা উত্পন্ন করে

এই সংখ্যার প্রতিটি উপর চালায়

সমস্ত সিউডো-কুইনগুলিকে একক 200,000-অক্ষরের স্ট্রিংয়ে ফ্ল্যাট করে

ডান দিকের তথ্যগুলির প্রতিটি অনন্য চরিত্রের জন্য বাম দিকের ক্রিয়াকলাপটি বাম-আর্গুমেন্ট হিসাবে চিহ্নিত করে এবং সেই সূচিগুলি যেখানে ডান-যুক্তি হিসাবে উপস্থিত হয় সেই সূচকগুলি একটি উচ্চ-অর্ডার ফাংশন। বাম পাশ ফাংশন হয়

{⍺ , 1E¯4× ⍴⍵}

বাম-যুক্তি, অর্থাত্ অনন্য চরিত্র

, অনুসরণ করেছে

1E¯4× 1 × 10⁻⁴ বার

⍴⍵ ডান-আর্গুমেন্টের আকৃতি (উপস্থিতি সূচকগুলি), এটি বহুবার ঘটে

অবশেষে, এগুলি একসাথে একটি টেবিলে রাখুন।


1

সি #, 277 280 268 বাইট।

using System;class a{static void Main(){var s="using System;class a{static void Main(){var s=\"x5Cx5C\x5C\x5C\";Random d=new Random();for(int i=0;i++<268;)Console.Write(s[d.Next(0,134)]);}}";Random d=new Random();for(int i=0;i++<268;)Console.Write(s[d.Next(0,134)]);}}

Ungolfed:

using System;
class a
{
    static void Main()
    {
        var s="using System;class a{static void Main(){var s=\"x5Cx5C\x5C\x5C\";Random d=new Random();for(int i=0;i++<268;)Console.Write(s[d.Next(0,134)]);}}";
        Random d=new Random();
        for(int i=0;i++<268;)
            Console.Write(s[d.Next(0,134)]);
    }
}

খুব নিশ্চিত যে এটি সঠিকভাবে কাজ করে।

নমুনা আউটপুট:

    fn;i)(]ns;<ftt08et]i+ii8]m[W}dr{rmte,)t edayid 2s cmsee\;ta["e n;o}]iolys;t sftoR{.=g vs8;(sd isWrecn++iia]iuf"avs\i<{ee vfs[ensin\s i]0a(We.0ns R(2roo=ldxil\{t(o"aistt.;.  r w"m1];idi}Ctitiindnn;M[,[+0(,o"]mca[rmnm)<;n"8ReaystinRsanr([(d,n\.ateiR sd.=[=;ttn.;wna)cCt[=+t{Wxs(\}rg

@ ননলাইনারফ্রুট ধন্যবাদ, সেই জায়গাটি মিস করেছেন। এর অর্থ আমি কোনও ফোরচ লুপ ব্যবহার করতে পারি না যা কয়েক বাইট যুক্ত করে :( তবে, আমি মনে করি যে আমি "স্ট্রিংয়ে দু'টি পালিয়ে থাকা উদ্ধৃতিগুলির সাথে সঠিকভাবে অন্তর্ভুক্ত করেছি, যেহেতু তারা কয়েকবার আউটপুটে প্রদর্শিত হবে, যদি না আমি" আমি অন্য কোথাও তাদের ব্যবহার মিস করছি
ইয়োডল

আহ্, আমি ভেবেছিলাম তারা স্ট্রিংয়ে থাকলে তাদের গণনা করা হত না আমার খারাপ। কিছুটা ঠিক করে দেবে।
ইয়োডল

ঠিক আছে, এখনও হাজির!
ইয়োডল

1
এইচএম, আকর্ষণীয় সমস্যা তখন। শুধু যোগ করা চালিয়ে রাখতে পারি না বা আমি সর্বদা একটি সংক্ষিপ্ত থাকব। আমি পরিবর্তে ci এর জন্য এসকি কোড ব্যবহার করব।
ইয়োডল

নেই (new Random()).Next(0,134)]কাজ করে? এটি একটি দম্পতি বাইট সংরক্ষণ করতে হবে।
ননলাইনফর্ট

1

সি, 136 বাইট

main(a){for(a=136;a--;)rand()%68?putchar("main(a){for(a=136;a--;)rand()%68?putchar([rand()%67]):putchar(34);}"[rand()%67]):putchar(34);}

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

;%7c(u)"r4-hd)nnr-%n6;6(4or(n4(6(a:=a3r-:()hp(:aa%;4rru}h;(a()3mh3rdi7));a-u36:r3on[4?p((]6n6?()-6t736unhr%:[%[[d(p:[ru)-n(6r=:](p-})8"]

এই প্রোগ্রামটি এলোমেলোভাবে 136 টি অক্ষর আউটপুট করে।

পুরো উত্স কোড (কম "উদ্ধৃতি চিহ্ন) একটি স্ট্রিংয়ে রয়েছে। প্রোগ্রামটি উদ্ধৃতি চিহ্নটিকে 2/136 হিসাবে আউটপুট করার সম্ভাবনাটি নির্ধারণ করে, অন্যথায় অন্য 67 টি অক্ষরকে এলোমেলোভাবে আউটপুট দেয়।

প্রোগ্রামটিতে স্ট্রিংয়ের প্রতিটি চরিত্রের দুটি ঘটনা রয়েছে। স্ট্রিং থেকে একটি অক্ষর আউটপুট করার সম্ভাবনা 134/136। স্ট্রিংয়ে একটি নির্দিষ্ট অক্ষর চয়ন করার সম্ভাবনা 1/67। সুতরাং স্ট্রিংয়ে একটি অক্ষর আউটপুট করার সুযোগটি 134/136 * 1/67 = 2/136। প্রোগ্রামটিতে প্রতিটি স্ট্রিং চরিত্রের দুটি ঘটনা রয়েছে, সুতরাং প্রোগ্রামে প্রতিটি ঘটনার জন্য একটি অক্ষর আউটপুট করার সম্ভাবনা রয়েছে 1/136।

স্ট্রিংয়ের ভিতরে প্রতীকগুলির ক্রম কোনও ব্যাপার নয় doesn't

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.