পিপিসিজি বিপদ: ডাকাত


18

আপনি সাইটটি কতটা ভাল জানেন? খুঁজে বের কর.

এটি একটি চ্যালেঞ্জ। কপির সুতো

ডাকাত হিসাবে আপনার দরকার:

  1. কোনও পুলিশকে জমা দেওয়ার সাথে মেলে এমন একটি মোছাবিহীন, অ-বন্ধ চ্যালেঞ্জ সন্ধান করুন। চ্যালেঞ্জটিতে নিম্নলিখিত ট্যাগগুলি থাকতে পারে না: , , , , , , , । চ্যালেঞ্জটিতে বৈধ আউটপুট নিয়ে বিধিনিষেধ থাকতে হবে।
  2. চ্যালেঞ্জটি এখানে পোস্ট করুন, এবং যে কপটি ক্র্যাক করছেন তার সাথে লিঙ্ক করুন
  3. এই উত্তরের পিছনে একটি লিঙ্ক সহ, পুলিশদের পোস্টে একটি "ক্র্যাকড" মন্তব্য যুক্ত করুন

আপনি প্রতি পয়েন্ট 24 ঘন্টা সময়কালের জন্য 1 পয়েন্ট এবং প্লাস 1 পয়েন্ট পাবেন, জমাটি বাতিল হয়ে গেছে (সর্বোচ্চ 7)। টাইব্রেকার হল ক্র্যাকড সাবমিসিসনের মোট সংখ্যা।

মন্তব্য:

  • যদি কোনও চ্যালেঞ্জের একটি আউটপুট প্রয়োজন হয় Xএবং আপনার আউটপুট XYবা হোয়াইটস্পেসের বাইরে YXযেখানে Yকিছু আছে, সেই চ্যালেঞ্জের জন্য জমা দেওয়া বৈধ নয়।
  • ২০১-11-১১-১-17 এর চেয়ে নতুন কোনও চ্যালেঞ্জ অনুমোদিত নয়।
  • আমি নির্দিষ্ট চ্যালেঞ্জগুলি ব্যাপকভাবে প্রযোজ্য হলে নিষেধাজ্ঞার অধিকার সংরক্ষণ করি (সমস্ত জমা দেওয়ার বেশিরভাগ ক্ষেত্রে প্রয়োগ করা যেতে পারে)।
  • নিশ্চিত হয়ে নিন যে আপনি ব্যাখ্যা হিসাবে দুটি বা দুটি বাক্য যুক্ত করেছেন (এটি আপনার জমাটি কোনও মন্তব্যে রূপান্তরিত হতে সহায়তা করে)
  • প্রাথমিক ধারণা জন্য ড্যানিয়েল ধন্যবাদ !


উত্তর:


5

কয়েন টসস হিসাবে অর্ধেকের বেশি মাথা পাওয়ার সম্ভাবনা গণনা করুন।

পুলিশ এন্ট্রি (কনর ও ব্রায়ান পোস্ট করেছেন): /codegolf//a/100521/8927

আসল প্রশ্ন: কয়েন টসসের চেয়ে অর্ধেকের বেশি মাথা পাওয়ার সম্ভাবনা গণনা করুন।


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

nCr(a,b) = a! / ((a-b)! * b!)
result = nCr(x, x/2) / 2^x

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


যেহেতু কনর ও'ব্রায়েন তার কোডের গভীরতর ব্যাখ্যাকে চ্যালেঞ্জ জানিয়েছে, তাই এখানে আরও আকর্ষণীয় বিটগুলির একটি রুনডাউন রয়েছে:

এটি কিছু অন্তর্নির্মিত ফাংশন কলগুলি অবলম্বন করে শুরু হয়। এটি ফাংশনটির নামগুলি এনকোডিং করে বেস -২২ দ্বারা অর্জন করা হয়, তারপরে তাদেরকে একটি একক অক্ষরের নতুন গ্লোবাল-নেমস্পেসের নামগুলি প্রদান করে। কেবলমাত্র 'আতব' ব্যবহার করা হয়; অন্যান্য 2 টি কেবল লাল-হার্চিংস (ইওল কেবল অ্যাটোবাইটের মতো একই শর্টহ্যান্ড নেয়, এবং বিটিওএ কেবল ব্যবহৃত হয় না)।

_=this;
[
    490837, // eval -> U="undefined"       -> u(x) = eval(x) (but overwritten below), y = eval
    358155, // atob -> U="function (M,..." -> u(x) = atob(x)
    390922  // btoa -> U="function (M,..." -> n(x) = btoa(x), U[10] = 'M'
].map(
    y=function(M,i){
        return _[(U=y+"")[i]] = _[M.toString(2<<2<<2)]
    }
);

এর পরে কোডটি লুকানোর জন্য বেশ কয়েকটি তুচ্ছ স্ট্রিং মিক্স-আপ রয়েছে। এগুলি সহজেই বিপরীত হয়:

u(["","GQ9ZygiYTwyPzE6YSpk","C0tYSki","SkoYSkvZChhLWIpL2QoYikg"].join("K"))
// becomes
'(d=g("a<2?1:a*d(--a)"))(a)/d(a-b)/d(b) '

u("KScpKWIsYShFLCliLGEoQyhEJyhnLGM9RSxiPUQsYT1D").split("").reverse().join("")
// becomes
"C=a,D=b,E=c,g('D(C(a,b),E(a,b))')"

অবসন্নতার মূল অংশটি হ'ল gফাংশনটির ব্যবহার , যা কেবল নতুন ফাংশনকে সংজ্ঞায়িত করে। এটি পুনরাবৃত্তভাবে প্রয়োগ করা হয়, ফাংশনগুলি নতুন ফাংশনগুলি ফিরিয়ে দেয় বা পরামিতি হিসাবে ফাংশনগুলির প্রয়োজন হয়, তবে শেষ পর্যন্ত ডানদিকে সরল হয়। এর থেকে বেরিয়ে আসা সবচেয়ে আকর্ষণীয় ফাংশনটি হ'ল:

function e(a,b){ // a! / ((a-b)! * b!) = nCr
    d=function(a){return a<2?1:a*d(--a)} // Factorial
    return d(a)/d(a-b)/d(b)
}

এই রেখার সাথে একটি চূড়ান্ত কৌশলও রয়েছে:

U[10]+[![]+[]][+[]][++[+[]][+[]]]+[!+[]+[]][+[]][+[]]+17..toString(2<<2<<2)
// U = "function (M,i"..., so U[10] = 'M'. The rest just evaluates to "ath", so this just reads "Math"

যদিও পরের বিটটি ".pow (T, a)" হয় তাই এটি "ম্যাথ" হতে পারে এমন সম্ভাবনা সবসময়ই ছিল!

প্রসারিত ক্রিয়াকলাপের পথে আমি যে পদক্ষেপ নিয়েছি সেগুলি হ'ল:

// Minimal substitutions:
function g(s){return Function("a","b","c","return "+s)};
function e(a,b,c){return (d=g("a<2?1:a*d(--a)"))(a)/d(a-b)/d(b)}
function h(a,b,c){return A=a,B=b,g('A(a,B(a))')}
function j(a,b,c){return a/b}
function L(a,b,c){return Z=a,Y=b,g('Z(a,Y)')}
k=L(j,T=2);
function F(a,b,c){return C=a,D=b,E=c,g('D(C(a,b),E(a,b))')}
RESULT=F(
    h(e,k),
    j,
    function(a,b,c){return _['Math'].pow(T,a)}
);


// First pass
function e(a,b){
    d=function(a){return a<2?1:a*d(--a)}
    return d(a)/d(a-b)/d(b)
}
function h(a,b){
    A=a
    B=b
    return function(a){
        return A(a,B(a))
    }
}
function j(a,b){ // ratio function
    return a/b
}
function L(a,b){ // binding function (binds param b)
    Z=a
    Y=b
    return function(a){
        return Z(a,Y)
    }
}
T=2; // Number of states the coin can take
k=L(j,T); // function to calculate number of heads required for fairness
function F(a,b,c){
    C=a
    D=b
    E=c
    return function(a,b,c){return D(C(a,b),E(a,b))}
}
RESULT=F(
    h(e,k),
    j,
    function(a){return Math.pow(T,a)}
);


// Second pass
function e(a,b){...}
function k(a){
    return a/2
}
function F(a,b,c){
    C=a
    D=b
    E=c
    return function(a,b,c){return D(C(a,b),E(a,b))}
}
RESULT=F(
    function(a){
        return e(a,k(a))
    },
    function(a,b){
        return a/b
    },
    function(a){return Math.pow(2,a)}
);


// Third pass
function e(a,b) {...}
C=function(a){ // nCr(x,x/2) function
    return e(a,a/2)
}
D=function(a,b){ // ratio function
    return a/b
}
E=function(a){return Math.pow(2,a)} // 2^x function
RESULT=function(a,b,c){
    return D(C(a,b),E(a,b))
}

ফাংশন নেস্টিংয়ের কাঠামোটি ইউটিলিটির চারপাশে ভিত্তি করে; বহিরাগত সর্বাধিক "ডি" / "জে" ফাংশন একটি অনুপাত গণনা করে, তারপরে অভ্যন্তরীণ "সি" / "এইচ" এবং "ই" (ইনলাইন) ফাংশন প্রয়োজনীয় মুদ্রার ফ্লিপ গণনা গণনা করে। তৃতীয় পাসে সরানো "এফ" ফাংশন এগুলি একসাথে ব্যবহারযোগ্য পুরোতে সংযুক্ত করার জন্য দায়ী। একইভাবে "কে" ফাংশনটি যে মাথাগুলি পর্যবেক্ষণ করা প্রয়োজন তা চয়ন করার জন্য দায়ী; একটি কার্য যা এটি প্যারামিটার বাইন্ডিং ফাংশন "এল" এর মাধ্যমে অনুপাতের ফাংশন "ডি" / "জে" এ দেয়; এখানে প্যারামিটার ঠিক করার জন্য ব্যবহৃত bহয় T(এখানে সর্বদা 2, মুদ্রাটি নিতে পারে এমন রাজ্যের সংখ্যা)।

শেষ পর্যন্ত, আমরা পাই:

function e(a,b){ // a! / ((a-b)! * b!)
    d=function(a){return a<2?1:a*d(--a)} // Factorial
    return d(a)/d(a-b)/d(b)
}
RESULT=function(a){
    return e(a, a/2) / Math.pow(2,a)
}

সাবাশ! এটি কিছুটা ভুল - ইওল সেট করা আছে f। তবে বাকিটা ঠিক! এছাড়াও, কীভাবে RESULTউত্পন্ন হয় তা কীভাবে যোগ্য হতে পারে সে সম্পর্কেও কিছুটা বিশদ আলোচনা ;)
কনর ও'ব্রায়েন

@ কনরও'ব্রায়ান নিশ্চিত; আমি আমার নোটগুলি এবং সমস্ত ফাংশনটি ভেঙে ফেলার আগে প্রতিটি ফাংশনের ইউটিলিটির একটি ব্যাখ্যা যুক্ত করেছি।
ডেভ

@ কনরও ব্রায়েন অনুগ্রহের জন্য ধন্যবাদ!
ডেভ

সর্বদা একটি আনন্দ :)
কনার ও'ব্রায়েন

3

এমএটিএল, লুইস মেন্ডো , 2 টি সংখ্যার মধ্যে বৃহত্তর দশমিকের সংখ্যা গণনা করুন

&:"@FYAYm7>vs

ইনপুটগুলি নিয়ে খেলে এটি কী করে তা আমি অনুভব করেছি, তবে আপনি যে সংখ্যার অঙ্কের সংখ্যার সংখ্যার চেয়ে times গুণ বেশি তার পরিসরে পূর্ণসংখ্যার সংখ্যার গণনা করতে চান সেই চ্যালেঞ্জের জন্য আমি বুঝতে পারি না। এমএটিএল ডক্স পড়ার পরে, আমি এটি কী করে তার মোটামুটি ব্যাখ্যা এক সাথে রাখলাম:

&    % Change default input format
:    % Implictly input two integers, create inclusive range
"    % For each item in this range:
  @    % Push the item
  F    % Push false
  YA   % Convert to base N digits; N is false, so this produces base-10 digits
  Ym   % Calculate arithmetic mean
  7>   % Push 1 if this is greater than 7, 0 otherwise
  v    % Concatenate result into array with previous result
  s    % Sum
     % Implicitly end loop and output

তারপরে আমি "7 গুণ দৈর্ঘ্যের চেয়ে বেশি অঙ্কের সন্ধান" থেকে "গড়ের চেয়ে 7 গড়ের চেয়ে বেশি গড়" এর দিকে সরিয়ে নিয়েছি, যা আমি যে চ্যালেঞ্জটি খুঁজছিলাম তা পেয়েছি।





2

পার্ল, গ্যাব্রিয়েল বেনামি , সুবিধাজনক প্যালিনড্রোম পরীক্ষক

কোডটি অবশ্যই একধরণের প্যালিনড্রোম ছিল। একবার আমি y- - -কাঠামোটি বেছে নিয়ে লক্ষ্য করলাম কী লিখিতভাবে লিখিত হয়েছে, আমি জানলাম এটি কী চ্যালেঞ্জ।


আপনি আমার কয়েক সেকেন্ডের ব্যবধানে পরাজিত করেছেন ... তবে পার্ল ডাউনলোড করতে এত দিন লেগেছে।
লাইকনি

@ লাইকোনি সত্যিই, কয়েকজন আইডিয়নে চেষ্টা করার পরে, আমি কোডটি চালানো ছেড়ে দিয়েছিলাম এবং পরিবর্তে এটি পড়ার চেষ্টা করেছি। ;)
DLosc



1

এমএটিএল, লুইস মেন্ডো , কম হামিং ওজন সহ হামিং ওজন গণনা করুন

dP7EGn:q^1J2/h)ts_hX=Gs[BE]Wd=~>~GBz*

আমি সংখ্যার মধ্যে রাখার পরীক্ষা করেছি, এবং হাতুড়ি ওজনের জিনিসটি খুঁজে পেয়েছি OEIS

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


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


1

রুবি, হিস্টোক্র্যাট , সত্য-যন্ত্র প্রয়োগ করুন

কোডটি একটি পুনরাবৃত্ত ফাংশন সিস্টেমটি সংজ্ঞায়িত করে f(n) = n*(3*n-1)/2যা nmod মড 0. না হওয়া অবধি চালিত 0হয় therefore সুতরাং এর ইনপুটটি অবিলম্বে সমাপ্ত হয় (একবার মুদ্রণের পরে 0)। ইনপুট 1দেয় 1, প্রিন্টিং অসীম লুপ নেতৃস্থানীয় 1। অন্যান্য ইনপুটটি ১-২ পদক্ষেপের পরে যদি প্রাথমিক n0, 2, 3, 5, বা 6 মড 7 এর সাথে একত্রিত হয় বা এটি 1 বা 4 মড 7 এর সাথে একত্রে চিরকালের জন্য বৃদ্ধি পায় তবে এটি অপ্রাসঙ্গিক।


1

হেক্সাগনি, 548 বাইট, মার্টিন ইন্ডার

এটি " আপনার প্রোগ্রামটির প্রতিটি অক্ষর মুদ্রণ করুন " চ্যালেঞ্জ!

ছাপে:

Elizabeth obnoxiously quoted (just too rowdy for my peace): "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG," giving me a look

যা এই একের আউটপুটের সাথে খুব মিল । এখানে ক্লুটি হ'ল শেষটি .মুদ্রিত হয়নি। এছাড়াও কোডটিতে নিজেই কোনও অক্ষর ছিল না এবং আমরা সকলেই জানি যে আউটপুটে বাক্যাংশগুলিতে বর্ণমালার সমস্ত অক্ষর রয়েছে।


1

পাইথন, 935 বাইটস, মেগা ম্যান , সবচেয়ে ছোট পজিটিভ বেস 10 পূর্ণসংখ্যা যা নিজের চেয়ে ছোট একটি প্রোগ্রাম (অক্ষরগুলিতে) মুদ্রণ করতে পারে?

আমি আসলে এটি চেষ্টা করিনি। তবে আমি অনুমান করি যে এটি প্রোগ্রামের চেয়ে বেশ কয়েকটি দীর্ঘ প্রিন্ট করে।


এটি 99 ** 9999 মুদ্রণ করে, যা কেবলমাত্র একটি বড় আকারের।
পিটার টেলর 10

0

পাইথন 3, /codegolf//a/100381/31343

বিশ্বের জনসংখ্যার আনুমানিক জন্য xkcd এর সূত্র ব্যবহার করুন

আমি সবেমাত্র চ্যালেঞ্জগুলি অনুসন্ধান করেছি যা লিপ বছরগুলিতে জড়িত ছিল (কারণ চারটি চেকার দ্বারা ডিকোডড বিভাজ্যতার কারণে) এবং এতে কোনও ইনপুট নেওয়া হয়নি।


হাঁ! আমি জানতাম যে এটি %4এবং এর কারণে এটি সুস্পষ্ট হবে strftime, তবে
কোডটির

আহ ডাঙিত, আমিও কাছে আসছিলাম। আমি তারিখগুলির সাথে এটি করার মতো কিছু খুঁজে পেয়েছি, 2005 এবং 2016/2017 পাচ্ছিল। সুন্দর কাজ.
Yodle

আমি অবাক হয়েছি যে আপনারা উভয়েই কেবল কোডটি চালাননি, যা আউটপুট উত্পন্ন করে 7.3 328এবং এটি অনুসন্ধান করে। চ্যালেঞ্জটি সরাসরি চলে আসে।
ফ্লিপট্যাক



0

রুবি, ওয়াট , 400 তম প্রশ্ন উদযাপন / চ্যালেঞ্জ

"400" অনুসন্ধান করার সময় এটিই আমি প্রথম খুঁজে পেয়েছি। এটি বলেছে যে, চ্যালেঞ্জটি ভুলভ্রান্তিযুক্ত বলে মনে হচ্ছে এবং এটি একটি পপকন হওয়া উচিত এবং উদ্দেশ্যগত প্রয়োজনীয়তা না থাকার কারণে সম্ভবত এটি বন্ধ করা উচিত।

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