বিরক্তিকর বাগ সহ বেসিক সাজান


28

আপনার ইনপুটটি 5-255 ইতিবাচক পূর্ণসংখ্যার একটি তালিকা / সিকোয়েন্স / ভেক্টর / অ্যারে, অগত্যা অনন্য নয়। আপনি ধরে নিতে পারেন যে কোনও ইনপুট ফর্ম্যাটটি সবচেয়ে উপযুক্ত, এবং প্রতিটি পূর্ণসংখ্যার (পাশাপাশি পূর্ণসংখ্যার পরিমাণ) 5-255 পরিসীমা থেকে এলোমেলোভাবে নির্বাচন করা হয়।

লক্ষ্যটি একই (বা সমমানের) ফর্ম্যাটে একই তালিকা আউটপুট করা, তবে ক্রমবর্ধমান (ননডেক্রেসিং) ক্রমে সাজানো। একটি ভাষা শিখতে একটি সাধারণ প্রাথমিক অনুশীলন। অন্তর্ভুক্ত জমা:

  1. একটি উত্তর যা সঠিকভাবে কাজ করে এবং লক্ষ্য অর্জন করে; এবং

  2. একটি দ্বিতীয় উত্তর যা বিরক্তিকর বাগ রয়েছে। সময়ের 1% এবং 10% এর মধ্যে, আউটপুটটিকে সঠিক বিন্যাসে এবং সঠিক উপাদানগুলির সঠিক তালিকা থাকা দরকার, তবে ভুল ক্রমে (সঠিকভাবে বাছাই করা ছাড়া কোনও আদেশ)। বাকি সময়, প্রোগ্রামটি অবশ্যই সঠিকভাবে কাজ করবে এবং লক্ষ্য অর্জন করবে।

দুটি উত্তরের লেভেনস্টেইনের দূরত্ব এক হতে হবে; তা হ'ল, আমরা একটি বাইট মুছতে বা একটি বাইট যুক্ত করে, বা একটি বাইট পরিবর্তন করে অন্যের কাছ থেকে পেতে পারি।

কোড-গল্ফে যথারীতি স্কোর করা (আপনার দুটি উত্তরের সংক্ষিপ্ত আকারের উপর ভিত্তি করে), স্বাভাবিক লুপফোলগুলি নিষিদ্ধ।

বিরক্তিকর বাগটি যদি ইনপুট-স্বতন্ত্র হয় তবে 10% বোনাস (স্কোর হ্রাস), আবার একই ইনপুটটি ব্যবহার করে বাগটি পুনরুত্পাদন করা হয় না (সময়ের 1% থেকে 10% ব্যতীত)।


9
পিপিসিজিতে আপনাকে স্বাগতম! আমি বোনাস অপসারণের পরামর্শ দিচ্ছি, এটি আসলে ভাল অনুশীলন নয়।
মিঃ এক্সকডার

2
এটি অস্পষ্ট যে প্রতিটি সম্ভাব্য ইনপুট দৈর্ঘ্যের সম্ভাবনা কী।
ব্যবহারকারী 202729

12
সময়ের 1% থেকে 10% এর মধ্যে অনুমানটি প্রতিটি ইনপুট বা সম্পূর্ণ সামগ্রিক ইনপুটগুলির সেট জন্য সামগ্রিকভাবে পূরণ করা উচিত ? কিছু ইনপুটগুলির মতো [5,5,5]এটির পক্ষে ভুল অর্ডার তৈরি করা অসম্ভব
লুইস মেন্ডো

4
আমাদের ডিফল্ট আইও ফর্ম্যাটগুলি সম্পর্কে একটি সূক্ষ্মতা রয়েছে । যদি আমাদের কোডটি কোনও ফাংশন সংজ্ঞায়িত করে, এটি কি ঠিক আছে যদি এতে ফাংশনটি ধারাবাহিকভাবে বগি সংজ্ঞায়িত করার কিছু সুযোগ থাকে তবে বাগি হওয়ার কিছু সম্ভাবনা রয়েছে এমন কোনও ফাংশন সংজ্ঞায়নের বিপরীতে?
xnor

1
@ ভাদিমপোনোমারেঙ্কো এই সাইটে লোকদের ফাংশন পাশাপাশি পুরো প্রোগ্রাম সরবরাহ করার অনুমতি রয়েছে। xnor জিজ্ঞাসা করছে যে এটি তৈরি করার সময় 1% থেকে 10% সময়ের মধ্যে কোনও ফাংশন রাখার অনুমতি রয়েছে কিনা, এটি একটি বাগি ফাংশন যা সর্বদা একটি বাগ থাকবে। আপনার প্রশ্নের চিঠিটি রাখা উত্তর সম্ভবত না , তবে এটি যদি হ্যাঁ হয় তবে এটি আরও মজাদার হবে ।
wizzwizz4

উত্তর:


9

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

বাগ-মুক্ত সংস্করণ, 37 বাইট

lambda l:sorted(l,reverse=l[-9:]==[])

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

বিরক্তিকর সংস্করণ, 36 বাইট

lambda l:sorted(l,reverse=l[9:]==[])

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

এটি ইনপুটটির উপর নির্ভর করে এবং তাই বোনাসের জন্য যোগ্য নয়।
এটির ব্যর্থতা প্রায় 2% হওয়ার সম্ভাবনা রয়েছে। 10 এর পরে ইনপুট দৈর্ঘ্য কম হলে এটি ব্যর্থ হয়।

লিরিকিলির উত্তরের সাথে মিলিত হয়ে এটি 34 বাইট পায়:

lambda l:sorted(l)[::l[9:]>[]or 1]
lambda l:sorted(l)[::l[9:]>[]or-1]

আমি মনে করি না বাগ-মুক্ত সংস্করণে আপনার স্থান প্রয়োজন।
wizzwizz4

@ wizzwizz4 স্থান ছাড়াই or1ভেরিয়েবলের নাম হিসাবে ব্যাখ্যা করা হবে এবং একটি সিনট্যাক্স ত্রুটি বাড়িয়ে তুলবে।
ovs

9

05 এ বি 1 ই , 5 * 0.9 = 4.5 বাইট

কাজ সমাধান

{TLΩi

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

ব্যাখ্যা

{      # sort input
 TL    # push the range [1 ... 10]
   Ω   # pick a random number in the range
    i  # if true (equal to 1), do nothing

বাগযুক্ত সমাধান

10% সময় ভুল সমাধান দেয় (ইনপুটটিতে স্বতন্ত্র)।

{TLΩiR

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

ব্যাখ্যা

কার্যনির্বাহী সমাধান হিসাবে একই, বাদে যদি তালিকাটি উল্টে না হয় তবে নির্বাচিত সংখ্যাটি সত্য।


সিরিয়াসলি কি আরে। আউটপুট এমনকি সঠিক কার্ডিনালিটির নয়।
জোশুয়া

@ জোশুয়া আপনার অর্থ কি?
এরিক আউটগল্ফার

অনলাইনে চেষ্টা করুন এটি তালিকার একটি তালিকা আউটপুট দেখাচ্ছে।
জোশুয়া

4
@ জোশুয়া টিআইও লিঙ্কটিতে একটি শিরোনাম 100Fএবং একটি পাদচরণ রয়েছে যা ইনপুটটিতে },একাধিকবার ডাকা ফাংশনটির ফলাফলটি দেখতে আমাদের সহায়তা করে। এটি আমাদের দেখায় যে কার্যক্ষম সমাধান সর্বদা সঠিক ফলাফল দেয়, যখন বাগড এর ত্রুটিযুক্ত আউটপুট থাকে।
মিঃ এক্সকোডার 15

দয়া করে, কেউ, অ্যালগরিদম ব্যাখ্যা করুন। শীঘ্রই আমি শীর্ষ স্থানের জমাটি (বা শীর্ষস্থানীয় জমাগুলির মধ্যে একটি) গ্রহণ করব। আমি বুঝতে পারি না এমন কোনও সমাধান আমি গ্রহণ করতে পারি না।
ভাদিম পোনোমারেঙ্কো

7

জেলি , 7 * (100% - 10%) = 6.3 বাইট

Ṣ¹⁵X:¤¡

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

বাগি সংস্করণ:

ṢẊ⁵X:¤¡

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

উভয় লিঙ্কে, একটি পরীক্ষার জোতা রয়েছে যা আপনার যুক্তি হিসাবে দেওয়া তালিকার সাথে প্রতিবার 100 বার কোড চালাবে, এবং তারপরে ফলাফলগুলি ফিরিয়ে দেবে।

প্রতিটি ইনপুট দৈর্ঘ্যের সম্ভাবনা হ'ল:

0.1 - 0.1/(length!)

দৈর্ঘ্য 1 এর জন্য 0% সম্ভাবনা রয়েছে, দৈর্ঘ্যের জন্য 2% 5%, দৈর্ঘ্যের জন্য 3 8.83̅%, দৈর্ঘ্যে 4 9.583̅% ইত্যাদি দৈর্ঘ্য পর্যন্ত ∞ যার 10% সম্ভাবনা রয়েছে।


হওয়া উচিত 0.1 - 0.1/(length!)
ব্যবহারকারী 202729

@ ব্যবহারকারী202729 নিশ্চিত
এরিক আউটগল্ফার

Ṣ⁵X’¤¡এবং Ṣ⁵X¤¡এটিরও কাজ করা উচিত: বগি সংস্করণ তালিকাটির তালিকা অনুসারে অকার্যকর <10% সময় ফিরে আসে এবং ইনপুটটি অভিন্নভাবে এলোমেলোভাবে বেছে নেওয়া হয়, এটি কাজ করা উচিত, 2 বাইট সংরক্ষণ করা উচিত।
ব্যবহারকারী 202729

যদি আপনি এই সমাধানটি পছন্দ না করেন তবে আপনি অবশ্যই ¹1 টি বাইট সংরক্ষণের জন্য মুছে ফেলতে পারেন (বাইটের নিয়ম গণনার সংখ্যা = ছোট); দ্বিতীয়টির পরেও একটি বহিরাগত সংমিশ্রণ ওভারলাইন 6রয়েছে 6.6̅%
ব্যবহারকারী 202729

@ user202729 দুর্ভাগ্যক্রমে এটি আর ইনপুট-স্বতন্ত্র হবে না এবং আমি "কেবল" মুছে ফেলতে পারি না ¹"কারণ এটি তখন 10% সময় অনুসারে বাছাই করে না।
এরিক আউটগল্ফার

6

পাইথন 3, স্কোর 58 57 - 10% = 51.3

ওভিএসকে একটি বাইট ধন্যবাদ সংরক্ষণ করা হয়েছে।

বাগ-মুক্ত সংস্করণ, 57 বাইট

lambda m:sorted(m)[::random()>.1or 1]
from random import*

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

বুগড সংস্করণ, 57 বাইট

lambda m:sorted(m)[::random()>.1or-1]
from random import*

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

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


5

সি, 71 * 0.9 = 63.9 বাইট

ত্রুটিমুক্ত:

c(int*a,int*b){return*a-*b;}f(a,n)int*a;{if(rand()%1<9)qsort(a,n,4,c);}

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

বগী:

c(int*a,int*b){return*a-*b;}f(a,n)int*a;{if(rand()%10<9)qsort(a,n,4,c);}

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


% 1 এর জন্য +1 (আমাকে আরও মজা করতে হবে ওহ করতে আরও 6 জন আসুন)
জোশুয়া

4

গ্রোভি , 31 বাইট

বুগড সমাধান:

{a->a.sort()[a[9]?0..-1:-1..0]}

কাজের সমাধান:

{a->a.sort()[a[0]?0..-1:-1..0]}

গ্রুভি সাবস্ক্রিপ্ট অপারেটর ( getAtপদ্ধতি) সূচকের আকারের চেয়ে বড় হলে তালিকাগুলি বাতিল করে দেয়। সুতরাং যদি একটি নবম উপাদান থাকে তবে এটি সাজানো তালিকার মতোই থাকবে, তবে না থাকলে (1.99203187% সুযোগ) এটি বিপরীত হবে। তবে সর্বদা প্রথম উপাদান থাকবে কারণ তালিকার আকার সর্বদা 5 এর চেয়ে বড় বা সমান So সুতরাং 0 এ a[0]1, 2, 3 বা 4 দিয়ে অদলবদল হতে পারে।


1
সাইটে স্বাগতম এবং প্রথম প্রথম পোস্ট!
দফায় দফায় দফায় দফায় দফায় দফায় দফায় দফায় সজ্জা

3

ওল্ফ্রাম ভাষা (গণিত) , 29 বাইট

এটি বোনাস সহ 26.1 বাইট, তবে আমি বোনাস উপার্জন সম্পর্কে পুরোপুরি নিশ্চিত নই; ইতিমধ্যে সাজানো ইনপুটগুলিতে, উভয় সংস্করণ সর্বদা সাজানো আউটপুট উত্পাদন করে।

বাগ-মুক্ত সংস্করণ (29 বাইট)

If[RandomReal[]<0.,#,Sort@#]&

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

বিরক্তিকর সংস্করণ (30 বাইট)

If[RandomReal[]<0.1,#,Sort@#]&

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


3

পিএইচপি, 70 বাইট

বাগ-মুক্ত সংস্করণ, 70 বাইট

<?unset($argv[0]);((rand(1,9)?"":r).sort)($argv);echo join(" ",$argv);

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

বুগড সংস্করণ, 70 বাইট

<?unset($argv[0]);((rand(0,9)?"":r).sort)($argv);echo join(" ",$argv);

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

বাগড সংস্করণটি বিপরীত ক্রমে 10% সময় অনুসারে বাছাই করে (একটি এলোমেলো সংখ্যা জেনারেটরের উপর ভিত্তি করে)।


-r(-2 বাইট) দিয়ে ট্যাগের প্রয়োজন নেই । আন্ডারস্কোর দ্বারা যোগদান; এটি সমতুল্য হওয়া উচিত (-২ বাইট)। (-1 বাইট) এর asortপরিবর্তে ব্যবহার করুন sort
টাইটাস

... বা উপসর্গের পরিবর্তে পুরো শব্দটি ব্যবহার করুন (বা না): unset($argv[0]);(rand(1,9)?sort:rsort)($argv);echo join(_,$argv);(এছাড়াও 65 বাইট)
টাইটাস

3

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

বগী:

lambda l:l[9:]and l.sort()

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

ইনপুট তালিকাটি পরিবর্তন করে আউটপুট । তালিকা শুধুমাত্র যদি তার দৈর্ঘ্য কমপক্ষে 10 অ বগী সংস্করণ প্রতিস্থাপন হয় বাছাই করে 9একটি সঙ্গে 0সবসময় সাজাতে হয়।

ওয়ার্কিং:

lambda l:l[0:]and l.sort()

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

আমরা মোট 30 টি বাইটের জন্য 4 বাইট ব্যয়ে তালিকাটি ফিরিয়ে দিতে ফাংশনটি সংশোধন করতে পারি:

lambda l:l[9:]and l.sort()or l

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


নিয়মের কয়েকটি প্রসার সহ 25 বাইট:

[list,sorted][id(0)%17>0]

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

id(0)এলোমেলো উত্স হিসাবে ব্যবহার করে এমন একটি ফাংশন আক্ষরিক আউটপুট দেয় যা হয় বাছাই হয় বা হয় is ঠিক করতে বা পরিবর্তন >করতে পরিবর্তন করুন ।>=0~0


3

কাস্তে , 6 বাইট

বাগি সংস্করণ:

?OIV¦9

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

সঠিক সংস্করণ:

?OIVK9

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

ব্যাখ্যা

এই প্রোগ্রামগুলি সম্পূর্ণ নির্দোষ আসলে, হুস্কের বর্তমানে এলোমেলো সংখ্যার জন্য কোনও সমর্থন নেই।

?  V    If any element
    ¦9  is divisible by 9 (in buggy version),
    K9  is truthy when replaced by 9 (in correct version),
 O      sort the list,
  I     otherwise return it unchanged.

আমি দাবি করি যে বগী প্রোগ্রামটির আউটপুট 1% এবং 2% এর মধ্যে একটি সম্ভাব্যতার সাথে সাজানো হয়নি। উপাদানগুলির সম্ভাব্য মানগুলির সংখ্যা N = 251 দ্বারা চিহ্নিত করুন । দৈর্ঘ্যের এলোমেলো তালিকার L এর 9 টিরও কোনও গুণক (L (NK) / N) ^ L নেই , যেখানে কে 9 দ্বারা বিভাজ্য মানগুলির সংখ্যা (আমাদের ক্ষেত্রে কে = 28 )। মোট সম্ভাব্যতা এটি 5 5 এল 5 255 এর গড় , যা প্রায় 1.98%। এর মধ্যে কয়েকটি তালিকাই মিথ্যা ইতিবাচক, যেহেতু সেগুলি ইতিমধ্যে সাজানো হয়েছে। L কে বাছাই করার জন্য দৈর্ঘ্যের এলোমেলো তালিকার সম্ভাবনা সর্বাধিক ((এন + এন * (এন -1) / 2) / এন ^ 2) / ⌊L / 2⌋ : যদি আমরা তালিকাটি দৈর্ঘ্যের অংশগুলিতে বিভক্ত করি তবে 2, প্রতিটি/L / 2⌋ খণ্ড অবশ্যই বাছাই করা উচিত। তালিকা নির্ধারণের মোট সম্ভাবনা 5 ≤ এল ≤ 255 এর উপরের গড় দ্বারা আবদ্ধ , যা প্রায় 0.30%। সুতরাং অ-বাছাই করা তালিকা ফেরত ফাংশনটির সম্ভাবনা 1.67% থেকে 1.98% এর মধ্যে।


9 দ্বারা বিভাজ্য প্রায় 11% ব্যর্থতার সুযোগ দেয়। এবং বাছাই না করা গ্যারান্টি দেয় না যে তালিকাটি সাজানো নয়।
টাইটাস

1
@ টিটাস আমি বিশ্লেষণে এটি সম্বোধন করছি। বাছাই করতে ব্যর্থতা কেবল তখনই ঘটে যখন তালিকায় 9. দ্বারা বিভাজ্য এমন কোনও উপাদান নেই this এর সম্ভাবনা প্রায় 1.98%। এবং এটি সত্য যে যদি তালিকাটি ইতিমধ্যে বাছাই করা থাকে তবে কিছুই না করা একটি বাছাই করা তালিকাও দেবে। তবে, তালিকাটি ইতিমধ্যে সাজানো হওয়ার সম্ভাবনা সর্বাধিক 0.30%, যা যথেষ্ট পরিমাণে কম যে একটি ছদ্মবেশী তালিকার আউটপুট দেওয়ার মোট সম্ভাবনা 1% এর উপরে।
Zgarb

সত্য ... এবং সাজানো ইনপুটটি বাগটি পরিবর্তন করতে পারে না।
টাইটাস

আপনি সম্ভবত এর ↓9পরিবর্তে ব্যবহার করতে পারেন V¦9এবং এটি কেবল 9সঠিক সংস্করণের জন্য সংক্ষিপ্ত করতে পারেন ? এটি সর্বদা সংক্ষিপ্ত ইনপুটগুলিতে ব্যর্থ হয়ে যায় এবং সর্বদা দীর্ঘতরগুলির উপরে সঠিকভাবে কাজ করে, তবে যেহেতু ইনপুট দৈর্ঘ্য একটি এলোমেলো বিতরণ অনুসরণ করে তা এখনও একটি বৈধ উত্তর হওয়া উচিত
লিও

3

বাশ , 26 বাইট

সঠিক সংস্করণ

s=n
sort -${s:RANDOM%20<0}

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

বুগড সংস্করণ

s=n
sort -${s:RANDOM%20<1}

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

নিউলাইন-বিভাজিত সংখ্যা হিসাবে ইনপুট নেয়। বিল্টিন ভেরিয়েবল ব্যবহার করে RANDOM, যা সর্বদা 0 - 32767 সীমাতে একটি (সিউডো) এলোমেলো সংখ্যা প্রদান করে%20প্রায় 5% ব্যর্থতার হারে ফলাফল ব্যবহার করা (এর সাথে সমস্যাগুলি পরিষ্কার করার জন্য @ টিটাসকে ধন্যবাদ %10)।

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

বিকল্প সংস্করণ, 27 বাইট

((RANDOM+20))||cat&&sort -n

বুগড সংস্করণটি এর +সাথে প্রতিস্থাপন করে %এটি অনলাইনে চেষ্টা করুন বা এটি বাগড করে দেখুন


পেনি বাছাই: %10এর তুলনায় ফিরে 0যাওয়ার উচ্চতর সুযোগ রয়েছে বা তাই, ব্যর্থতার সম্ভাবনা 10% এর উপরে))789
টাইটাস

@ টিটাস ধন্যবাদ, আমি সেই সত্যটি ভুলে গেছি। %20আপনার উত্তর মত করে ব্যবহার আপডেট হয়েছে ।
জাস্টিন মেরিনার

3

পাইথ , স্কোর 8 * 0.9 = 7.2

প্রথম স্নিপেট (একটি সঠিক):

h.uSNT.S

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

দ্বিতীয় স্নিপেট (একটি বাগড):

O.uSNT.S

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

আইস্যাকের জন্য দুটি বাইট (এবং 1.8 স্কোর) সংরক্ষণ করা হয়েছে !


আমি মনে করি 10 টির চেয়ে 9 টি অনুলিপি ভাল হবে। .Sইনপুটটি অপরিবর্তিত রাখার সম্ভাবনার অর্থ হ'ল সেই (বিরল) ক্ষেত্রে, আমাদের ভুল উত্তর পাওয়ার সম্ভাবনা 10% থেকে 0% এ নেমে যায় - সুতরাং গড়ে এখনও এটি সঠিক পরিসীমাতে রয়েছে। অবশ্যই, 10 টি অনুলিপিও ঠিক আছে।
মিশা লাভরভ

@ মিশা লাভরভ আমি আমার ব্যাখ্যাটিতে একটি ভুল করেছি, এখন সম্বোধন করা হয়েছে। আমি বলেছিলাম .Sনিজেই ইনপুটটিও ফেরত দিতে পারে (যা কোনও সমস্যা হবে না), তবে আমি বোঝাতে চাইছি .Sবাছাই করা তালিকাটিও ফিরে আসতে পারে
মিঃ এক্সকডার

ঠিক আছে, আমি এটাই বোঝাতে চাইছিলাম।
মিশা লাভরভ

একই ধারণা, তবে সংক্ষিপ্ত:O.uSNT.S
isaacg

2

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

বাগ-মুক্ত সংস্করণ (কমপক্ষে 0-2147483647 পরিসরের পূর্ণসংখ্যার জন্য, তাই প্রদত্ত পরিসরে কোনও কিছুই):

a=>a.sort((a,b)=>a-b>>0)

বাগি সংস্করণ:

a=>a.sort((a,b)=>a-b>>1)

ক এর উপর নির্ভর করে) ইঞ্জিনের বাছাই করা অ্যালগরিদম এবং খ) ভুল ক্রমে দুটি মান যুক্ত ইনপুট তালিকা যা 1 দ্বারা পৃথক হয় (যদি এর সম্ভাবনা খুব কম হয়ে যায় তবে এর 1পরিমাণ আরও বাড়ানো যেতে পারে তবে আপনি যখন সময় পাবেন তখন থেকে 8এটি সহজভাবে সীমার মধ্যে কিছু বাছাই করা হবে না 5-255।)


2

পিএইচপি, 62 বাইট

জো সলিউশন দ্বারা অনুপ্রাণিত (এবং আমি কেবল লক্ষ্য করেছি: এটি জাস্টিন মেরিনার্স বন্দর ):

কাজ (আরোহী বাছাই):

unset($argv[0]);(r[rand()+20].sort)($argv);echo join(_,$argv);

বগি (উত্থিত সাজানোর প্রায় 5% সুযোগ):

unset($argv[0]);(r[rand()%20].sort)($argv);echo join(_,$argv);

সাথে চালাও -nr


2

পুশি , 9 বাইট - 10% = 8.1

বুগড সলিউশন:

g0TUn?};_

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

কাজের সমাধান:

g1TUn?};_

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

বাগড কোডটি নিম্নলিখিতটি করে:

g0TUn?};_

g          \ Sort the stack correctly
 0TU       \ Generate random(0, 10)
    n? ;   \ If this is zero:
      }    \    Cyclically shift the stack right once
        _  \ Print the result

নির্দিষ্ট কোডটি কেবল পরিবর্তিত 0হয় 1। যেমনটি random(1, 10)কখনই হবে না 0, যদি বিবৃতিটি কখনও কার্যকর হয় না।


2

এমএটিএল , 7 * 0.9 = 6.3 6 * 0.9 = 5.4 বাইট

বাগি সংস্করণ:

Gr.9<?S

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

ব্যাখ্যা:

G        % Grab input
 r       % Push a random number between 0 and 1
  .9     % Push 0.9
    <    % Check if the random number is smaller than 0.9
     ?   % If true
      S  % Sort input
         % Implicit output

বাগ-মুক্ত সংস্করণ:

Gr9<?S

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

ব্যাখ্যা:

G       % Grab input
 r      % Push a random number between 0 and 1
  9     % Push 9
   <    % Check if the random number is smaller than 9 (always true)
    ?   % If true
     S  % Sort the input
        % Implicit output     



1

আর , 30 * .9 = 27 বাইট

(বগী)

function(l)sort(l,runif(1)<.1)

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

(বগি নয়)

function(l)sort(l,runif(1)<.0)

বগি সংস্করণ decreasing=T10% সময়ে সাজায়, ইউনিফর্ম (0,1) বিতরণ থেকে নমুনা দেয়। আন-বাগির সংস্করণ সর্বদা থাকেdecreasing=F


1

রাদা , 42 বাইট - 10% = 37.8

ত্রুটিমুক্ত:

{sort key={|i|currentTime|[_%20//19*0+i]}}

বগী:

{sort key={|i|currentTime|[_%20//19*i+i]}}

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

এটি currentTimeএলোমেলো সংখ্যা তৈরি করতে ফাংশনটি ব্যবহার করে । মনে হচ্ছে তাদের বিতরণ মেশিনগুলির মধ্যে কিছুটা ভিন্ন হয়। 20//19বাইট পেনাল্টির জন্য আলাদা ফলাফল পাওয়ার জন্য অনুপাতটি সামঞ্জস্য করা যায় (এটির চেয়ে ছোট না হলে 99//98)।


1

অক্টাভা , 36 * 0.9 = 32.4 বাইট

বাগি সংস্করণ:

@(x)sort(x)(shift(1:end,+(rand<.1)))

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

বাগ-মুক্ত সংস্করণ:

@(x)sort(x)(shift(1:end,+(rand<.0)))

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

এটি ভেক্টরটিকে বাছাই করে, তবে কোনও এলোমেলো সংখ্যা ০.১ এর চেয়ে কম হলে সমস্ত সংখ্যাকে ডানে সরিয়ে দেয়।


হ্যাঁ, আপনি অবশ্যই ঠিক আছেন :) ধন্যবাদ :)
স্টিভি গ্রিফিন

1

জাভা 8, 45 34.2 ( 50 38 - 10%) বাইট

সাধারণ সংস্করণ:

a->{if(Math.random()>0.)a.sort(null);}

ব্যাখ্যা:

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

a->{                    // Method with ArrayList<Integer> parameter and no return-type
  if(Math.random()>0.)  //  If the random 0-1 double is larger than 0:
    a.sort(null);       //   Sort the input-List
}                       // End of method

বুগড সংস্করণ ( 51 39 বাইট):

a->{if(Math.random()>0.1)a.sort(null);}

1 এর এলডি: 1যুক্ত হয়েছে।

ব্যাখ্যা:

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

a->{                     // Method with ArrayList<Integer> parameter and no return-type
  if(Math.random()>0.1)  //  If the random 0-1 double is larger than 0.1:
    a.sort(null);        //   Sort the input-List
}                        // End of method

0

জাভাস্ক্রিপ্ট, 25 * 0.9 = 22.5

new Date%25?x:x.sort()

ইনপুট এক্স

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