কোড পরিবর্তন করুন, ক্রম পরিবর্তন করুন: ডাকাতগণ


15

এটি একটি চ্যালেঞ্জ। পুলিশ থ্রেডের জন্য, এখানে যান ।

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

পুলিশ কোড নির্মাণ করছে একটি যে উত্পাদন করে এস 1 এবং একটি সংখ্যা দান এক্স তারা দাবি করে যে সবচেয়ে ভালো Levenshtein দূরত্ব সম্ভব (অক্ষর) তৈরি করতে বি যে উত্পাদন করে এস 2

ডাকাতদের চ্যালেঞ্জ

কোনও নির্দিষ্ট পুলিশকে জমা দেওয়ার জন্য ক্রেতার জন্য ডাকাতদের অবশ্যই একই প্রোগ্রামে সি প্রোগ্রাম (এবং সংস্করণ) নিয়ে আসতে হবে যা উত্তর হিসাবে এস 2 (এন) তৈরি করে এবং ওয়াই অক্ষরটি (সহ Y <= X) থেকে দূরে পরিবর্তিত হয় । ডাকাতদের অগত্যা ঠিক একই বি খুঁজে পাওয়ার দরকার নেই find গোপনে (গোপনে) যে কোড তৈরি হয়েছিল । ডাকাতদের দাখিলকারীদের অবশ্যই পুলিশ-জমা দেওয়ার দ্বারা উল্লিখিত একই 0-সূচক বা 1-সূচকে মেনে চলতে হবে।

আপনি যদি এটি পরিচালনা করেন তবে পুলিশকে দেওয়া উত্তরের সাথে সংযোগ করে সমাধানের সাথে একটি উত্তর পোস্ট করুন, এবং পুলিশকে উত্তরটি আপনার সাথে সংযুক্ত করে একটি মন্তব্য দিন।

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

জয় এবং স্কোরিং

(X - Y)*5 + 5ডাকাতরা তাদের প্রতিটি ক্র্যাকের জন্য স্কোর করে এবং ডাকাত সামগ্রিকভাবে সর্বোচ্চ স্কোর অর্জন করে।

আরও বিধি

  • হ্যাশিং, এনক্রিপশন, বা এলোমেলো সংখ্যা জেনারেশনের জন্য আপনার কোনও বিল্ট-ইন ব্যবহার করা উচিত নয় (এমনকি আপনি যদি একটি নির্ধারিত মানটিতে এলোমেলো সংখ্যা জেনারেটর বীজ বর্ধিত করেন)।
  • হয় প্রোগ্রাম বা ফাংশন অনুমোদিত, কিন্তু কোড অবশ্যই একটি স্নিপেট হবে না এবং আপনি অবশ্যই একটি REPL পরিবেশ অনুমান করা উচিত নয়।
  • আপনি ইনপুট নিতে পারেন এবং যে কোনও সুবিধাজনক বিন্যাসে আউটপুট দিতে পারেন । উভয় অনুক্রমের জন্য ইনপুট / আউটপুট পদ্ধতিগুলি একই হতে হবে।
  • এই চ্যালেঞ্জের জন্য Levenshtein দূরত্ব জন্য নির্ধারক ক্যালকুলেটর এই এক প্ল্যানেট ক্যালক উপর।
  • সিএনআর চ্যালেঞ্জ হওয়া ছাড়াও এটি তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয়।

উত্তর:


7

পাইকে, লেভেনস্টেনের দূরত্ব 1, A036487 , A135628 - স্কোর 5

কাদামাটি দ্বারা একটি এন্ট্রি ক্র্যাক

wX*e

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

মূল কোড, X*eইনপুটটিকে স্কোয়ার করে, ইনপুট Xদ্বারা গুন করে *এবং এর অর্ধেক পরে ফলাফলটি মেঝে করে তোলে e,।

কৌতুকটি হ'ল 'X'the৯ উপস্থাপিতের 56 56 টি, wসুতরাং wXফলন হয়েছে 56 56, ইনপুট দ্বারা তল এবং অর্ধেকের চেয়ে বহুগুণ বৃদ্ধি করুন এবং প্রয়োজন অনুসারে আপনি ইনপুট থেকে ২ বার গুন পাবেন।


ঠিক আমার যা ছিল। আমার প্রত্যাশার চেয়ে কিছুটা দীর্ঘ সময় কাটাতে
ব্লু

যত তাড়াতাড়ি আমি এটি দেখতে পেলাম আমি জানতাম এটিই হ'ল উদ্দেশ্য intended
জোনাথন অ্যালান

4

ব্রেন-ফ্লাক , 28 বাইট, দূরত্ব 4, A002817 , A090809

(({(({})[()])}{}){{({}[()])}{}})

এই উত্তরটি নিষ্ঠুর-জালিয়াতির সাহায্যে আবিষ্কৃত হয়েছিল, যার ফলে 35,000 টি সম্ভাব্য প্রোগ্রাম তৈরি হয়েছিল (এর মধ্যে অনেকগুলিই ভারসাম্যহীন ছিল, এবং এভাবে মস্তিষ্ক-ফ্ল্যাক কোড অবৈধ ছিল, তবে আমি বাগটি দিয়ে রোল করেছি এবং যাইহোক উত্তরটি পেয়েছি)। এটি প্রায় ২০ হাজারতম প্রোগ্রামের পরীক্ষা করা হয়েছিল এবং এটি পেতে প্রায় এক ঘন্টা সময় লেগেছিল (যদিও আমি ঠিক জানি না যে এটি শেষ হওয়ার পরে আমি কতটা দূরে ছিলাম)।

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

#Push the sum of:
(

    #The (n-1)th triangular number, and the range [1, n] (The range doesn't count towards the sum I believe)
    ({(({})[()])}{})

    #Triangulate every number on the stack
    {{({}[()])}{}}

)

এটি অর্থবোধ করে কারণ ওইআইএস বলেছে:

N> 0 এর জন্য, এই ক্রমের শর্তাবলী A000124 এর সাথে a (n) = যোগফল (i * A000124 (i), i = 0..n-1) এর সাথে সম্পর্কিত। [ব্রুনো বেরসেলি, ডিসেম্বর 20 2013]

এবং A000124 হ'ল ত্রিভুজাকার সংখ্যাগুলি ১. তবে, ফোরামলা কী তা আমি ঠিক জানি না, সুতরাং এটি কীভাবে কাজ করে তা আমি পুরোপুরি ব্যাখ্যা করতে পারি না।


3

পার্ল 6, 19 বাইট, এক্স = 1, A000045 → A000035

{(0,1,*+<*...*)[$_]}

+>জায়গায় +<কাজ করবে।

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

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

ইনফিক্স ... সাধারণ পুনরাবৃত্তির ক্রমগুলির জন্য বেশ কার্যকর। (0,1,*+*...*)মূল কোডের অংশ, যার জন্য একটি সাঁটে লেখার হয়

(0, 1, -> $x, $y { $x + $y } ... *)

0 এবং 1 দিয়ে শুরু হওয়া একটি ক্রম সুনির্দিষ্ট করে , তারপরে ক্রমের দুটি পূর্ববর্তী আইটেমের যোগফল গণনা করে আইটেম যুক্ত করে।

বিপরীতে, (0,1,*+<*...*)+> প্যারিটি সিকোয়েন্সটি তৈরি করতে বাম বিট-শিফট ( ডান বিট শিফটও কাজ করবে) ব্যবহার করে। যেহেতু নাড়াচাড়া 1 বাঁদিকে শূন্য একক 1 , এবং নাড়াচাড়া 0 বাঁদিকে যুবলীগের কেউ না 0 , আমরা বেশী এবং শূণ্যসমূহ পছন্দসই পর্যায়ক্রমে নিদর্শন পেতে।


2

পার্ল 6 , 10 বাইট, দূরত্ব 1 - স্কোর 5

শ্রীলঙ্কার দ্বারা প্রবেশের ক্র্যাক

*[0]o 1***

হয়ে:

*[0]o 1*+*

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


সাবাশ! আমি এই সমাধানটির কথা ভাবি নি, আমার কিছুটা জটিল ছিল এবং আসলে *[0]o সেখানে উপস্থিত হওয়া দরকার। আমার অনুমান যে এর অর্থ আমি আমার "কৌতুক" এর উপর ভিত্তি করে আরেকটি চ্যালেঞ্জ নিয়ে আসতে পারি ... :)
স্মল

আমি পার্লকে সত্যিই চিনি না, কেবল দেখেছি ***এবং মনে হয়েছে এটি দেখে মনে হয় এটি ডায়াডিক গুণিত অপারেশনটি উদ্ঘাটন করতে পারে, *পূর্ববর্তী যুক্তি সহ, আমি আসলে জানি না যে কোডটি আসলে কী করে। কিছু ব্যাখ্যায় নির্দ্বিধায় সম্পাদনা করুন!
জোনাথন অ্যালান

2
1***পার্স করা হয় 1 ** *, অর্থাত্ একটি ল্যাম্বডা যা "1 এর ক্ষমতাকে" করে। 1*+*পার্স করা হয় 1 * (+*), অর্থাত্ একটি ল্যাম্বডা যা "1 দ্বারা গুণিত হয় (x কোনও সংখ্যায় রূপান্তরিত হয়)"।
13:12

2

পার্ল 6 , দূরত্ব 2, হাসি

মূল:

+(*%%2)

ফাটল:

+(*+0%2)

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


ডার্ন, আবার একটি সহজ সমাধান যা আমি বিবেচনা করি নি ... (আমার ছিল অনেক বেশি হতাশাগ্রস্ত +(^*Z%2)। আমার ধারণা আমি এই চ্যালেঞ্জগুলি খসড়াতে খুব একটা ভাল নই।
শ্রীলঙ্কা

2

ওল্ফ্রামআল্ফা, দূরত্ব 1, গ্রেগ মার্টিন , A002378 , A000537

(sum1to#of n^1)^2&

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

আমি বুঝতে পেরেছি যে আকর্ষণীয়ভাবে, (এন * (এন + 1) / 2) ^ 2 দ্বিতীয় ক্রমের একটি সূত্র। যেহেতু যোগফল (1 থেকে এন) n * (n + 1) / 2 এর সমতুল্য, আমাকে কেবল * একটি to এ স্যুইচ করতে হয়েছিল ^


আপনার তাকে জানানো উচিত যে আপনি তার উত্তরটি
ফাটিয়ে ফেলেছেন

ভাল বিক্ষোভ! :)
গ্রেগ মার্টিন

2

ব্রেন-ফ্লাক , 20 বাইট, ডিজেএমসিমেহেম

({({})({}[()])()}{})

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

({})প্রতিটি পুনরাবৃত্তির মান দ্বিগুণ করার জন্য লুপের শুরুতে একটি যুক্ত করা হয়েছে।


নিস! এফডব্লিউআইডাব্লু, আমার 18 টি বাইট সমাধান ছিল({(({}[()])){}}{})
জেমস


1

জাভাস্ক্রিপ্ট (ES6), দূরত্ব 1, অ্যাডভানসিড

মূল:

as=function(){ return 2*2**((11)*-1*~arguments[0]/11-(4-(as+[]).length%89))-(as+[]).length%7}

ফাটল:

as=function(){ return 0*2**((11)*-1*~arguments[0]/11-(4-(as+[]).length%89))-(as+[]).length%7}

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

অথবা

as=function(){ return 2*1**((11)*-1*~arguments[0]/11-(4-(as+[]).length%89))-(as+[]).length%7}

অনলাইনে চেষ্টা করে দেখুন!

আমি কোনওভাবেই এটি টিআইও এবং repl.it এর মধ্যে আলাদাভাবে আচরণ করতে সক্ষম হয়েছি (2 * 1 ^ ... repl.it অনুযায়ী 0 এর সমান হবে কেন একেবারেই কোনও ধারণা নেই)


আমি খুব মূক, আমি এখানে বি ফাংশন 2 0. পরিবর্তন সম্পর্কে চিন্তা করা হয়নি: as=function(){ return 2*2**((1^1)*-1*~arguments[0]/11-(4-(as+[]).length%89))-(as+[]).length%7}


1

জাভা, দূরত্ব 4, পিচ , A094683 , A000290

মূল:

int x{double r=1;for(int i=0;i<42;i++)r=r/2+n/r/2;int k=(int)((int)n*(float)n/Math.pow(n,(Math.sin(n)*Math.sin(n)+Math.cos(n)*Math.cos(n))/2));return n%4%2==(int)Math.log10(Math.E)/Math.log((double)'H'-'@')?(int)r:k;}

ফাটল:

int x{double r=1;for(int i=0;i<42;i++)r=r/2+n/r/2;int k=(int)((int)n*(float)n/Math.pow(n,(Math.sin(n)*Math.sin(n)+Math.cos(n)*Math.cos(n))/2));return n%4%1==(int)Math.log10(Math.E)/Math.log((double)'H'-'@')?(int)n*n:k;}
                                                                                                                                                          ^                                                         ^^^

রিটার্ন n * n


1

জাভাস্ক্রিপ্ট, অ্যাডভানসিড , 2 এর দূরত্ব, A059841 এবং A000004 এর

কেবল টিআইও লিঙ্কের পিছনে কোড রেখে দেওয়া হচ্ছে কারণ মনে হচ্ছে এটি সাইটটি ভেঙে যাচ্ছে।

@ রেন্ডারস্কোরকে ধন্যবাদ, যার কোডটি আমি প্রাথমিক কোডটি ডিক্রিপ্ট করার জন্য ব্যবহার করি

এখানে কিছু অপ্রয়োজনীয় কোড রয়েছে যেমন ব্যবহার করার জন্য !! []] [[] + [] এর পরিবর্তে !! []] [[]।

! + [] - (! + []) (+ 1-1) এর সংযোজন প্রাথমিকভাবে ডিক্রিপশন রোধ করেছিল।

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


1

পাইকে, লেভেনস্টেনের দূরত্ব 2, A008788, A007526

'SS^

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

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

এটি মিশ্র বেস রূপান্তর করে।

'Sইনপুট grabs এন এবং প্রযোজ্য, ঠেলাঠেলি [1, ..., এন] স্ট্যাক। পরবর্তী Sইনপুট নেয় এন এবং আরো একবার একই অ্যারে push কর্মের। 'পরবর্তী কমান্ডটি স্ট্যাকের পূর্ববর্তী শীর্ষে প্রয়োগ করার কারণ বলে মনে হচ্ছে; আমি বিশদটি সম্পর্কে একটু ঝাপসা।

অবশেষে, ^ মিশ্র বেস রূপান্তর প্রয়োগ করে, সুতরাং [1, ..., n] [1, ..., n] একটি (এন)f গণনা
: = [1] এন + এন + (এন) (এন -1) .. । + [n!] 1 যেখানে বন্ধনীগুলি স্থানের মান এবং সংখ্যাটি তাদের ঠিক অঙ্ক করে।

এখন, a (n) = (1 + (1) (n-1) + (n-1) (n-2) (n-3) + ... + (n-1)!) N = n ( a (n) + 1) , যা একই পুনরাবৃত্ত সূত্র যা সংজ্ঞা দেয় (এন) [A007526] এ । যেহেতু খালি যোগফল শূন্য, একটি (0) = 0 এবং বেস কেসটিও মেলে।


এত চেষ্টা করেও কীভাবে পেয়েছেন? আমি আপনার চিন্তা প্রক্রিয়াগুলিতে আগ্রহী
ব্লু

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