এই চ্যালেঞ্জের লক্ষ্য হ'ল ইনপুট পাঠ্য গ্রহণের জন্য সংক্ষিপ্ততম ফাংশন / প্রোগ্রাম লিখুন, নীচের পদ্ধতিটি ব্যবহার করে এটি এনক্রিপ্ট করুন এবং ফলাফলটি ফিরিয়ে দিন।
উদাহরণ হিসাবে, আমি স্ট্রিংটি ব্যবহার করব hello world
।
প্রথমে ইনপুট টেক্সট পান।
hello world
দ্বিতীয়ত , স্ট্রিংটি টের্নারি (বেস 3) এ রূপান্তর করুন। এই কীটি ব্যবহার করুন:
a = 000
b = 001
c = 002
d = 010
e = 011
f = 012
g = 020
...
w = 211
x = 212
y = 220
z = 221
[space] = 222
এই কী দিয়ে, hello world
হয়ে 021011102102112222211112122102010
, নিচের দেখা যায়।
h e l l o w o r l d
021 011 102 102 112 222 211 112 122 102 010
তৃতীয়ত , প্রথম অঙ্কটি প্রান্তে সরান।
021011102102112222211112122102010
becomes
210111021021122222111121221020100
চতুর্থত , একই কী ব্যবহার করে নম্বরটিকে আবার স্ট্রিংয়ে রূপান্তর করুন।
210 111 021 021 122 222 111 121 221 020 100
v n h h r n q z g j
শেষ অবধি , এনক্রিপ্ট করা পাঠ্যটি ফিরিয়ে দিন।
vnhhr nqzgj
এখানে কিছু নমুনা পাঠ্য এবং তাদের ফলাফল:
the turtle ==> dvo fh ego
python ==> uudwqn
code golf ==> hpjoytqgp
এটি কোড গল্ফ হিসাবে, বাইটগুলির মধ্যে সংক্ষিপ্ত এন্ট্রি জিতেছে। কিছু অক্ষর ছোট হাতের অক্ষর বা স্থান না থাকলে ত্রুটিগুলি অনুমোদিত। এটি আমার প্রথম চ্যালেঞ্জ, সুতরাং কোনও পরামর্শ সহায়তার চেয়ে আরও বেশি কার্যকর হবে।
শুভকামনা!
লিডারবোর্ড:
var QUESTION_ID=54643;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var e={},a=1,r=null,n=1;answers.forEach(function(s){var t=s.body_markdown.split("\n")[0],o=jQuery("#answer-template").html(),l=(t.match(NUMBER_REG)[0],(t.match(SIZE_REG)||[0])[0]),c=t.match(LANGUAGE_REG)[1],i=getAuthorName(s);l!=r&&(n=a),r=l,++a,o=o.replace("{{PLACE}}",n+".").replace("{{NAME}}",i).replace("{{LANGUAGE}}",c).replace("{{SIZE}}",l).replace("{{LINK}}",s.share_link),o=jQuery(o),jQuery("#answers").append(o),e[c]=e[c]||{lang:c,user:i,size:l,link:s.share_link}});var s=[];for(var t in e)e.hasOwnProperty(t)&&s.push(e[t]);s.sort(function(e,a){return e.lang>a.lang?1:e.lang<a.lang?-1:0});for(var o=0;o<s.length;++o){var l=jQuery("#language-template").html(),t=s[o];l=l.replace("{{LANGUAGE}}",t.lang).replace("{{NAME}}",t.user).replace("{{SIZE}}",t.size).replace("{{LINK}}",t.link),l=jQuery(l),jQuery("#languages").append(l)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*\s*([^,]+)/;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table></div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table></div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table><table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody></table>
uint64
ক্রমবর্ধমান শক্তি ব্যবহার করে অক্ষরগুলিকে একটি বড় পূর্ণসংখ্যার ( ) এ প্যাক করা 27
। একটি সংখ্যার দ্বারা স্থানচ্যুতিটি তখন এই বৃহত পূর্ণসংখ্যাকে গুণক করার সমতুল্য 3
এবং অন্য প্রান্তে প্রথম সংখ্যাটি প্রবর্তন কেবল একটি সংযোজন হবে। তবে জটিলতা রয়েছে যেমন শেষ "ক্যারি" (সম্ভবত কোনও mod
অপারেশনের মাধ্যমে ) ফেলে দেওয়া, এবং আমি কয়েকটি বাইট নিয়ে কাজ করতে পারিনি