র্যান্ডাল মুনরোর বই "xkcd, ভলিউম 0" পৃষ্ঠা সংখ্যাগুলির জন্য একটি বিপরীত নম্বর সিস্টেম ব্যবহার করে। প্রথম কয়েকটি পৃষ্ঠাগুলি নম্বর
1, 2, 10, 11, 12, 20, 100, 101, 102, 110, 111, 112, 120, 200, 1000, 1001, ...
এই তিন মত একটি বিট দেখায়, কিন্তু লক্ষ্য যে, তিনি থেকে অগ্রাহ্য 20
সোজা 100
থেকে 120
থেকে 200
থেকে 200
থেকে 1000
। এই ক্রমটি সংজ্ঞায়িত করার একটি উপায় বলতে পারা যায় যে এটি সমস্ত বার্ষিক সংখ্যা গণনা করে যা তার পরে সর্বাধিক এক 2
এবং কোনওটি থাকে । আপনি এএআইআইএস এ এএন 6993 এ এ এটি পেতে পারেন । এই নম্বর সিস্টেমটি স্কিউ বাইনারি হিসাবে পরিচিত ।1
2
আপনার কাজটি হ'ল N
এই নম্বর সিস্টেমে প্রদত্ত ইতিবাচক পূর্ণসংখ্যার প্রতিনিধিত্ব সন্ধান করা ।
আপনি STDIN (অথবা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে কোনও প্রোগ্রাম বা ফাংশন লিখতে এবং STDOUT (বা নিকটতম বিকল্প), ফাংশন রিটার্ন মান বা ফাংশন (আউট) প্যারামিটারের মাধ্যমে ফলাফল আউটপুট করতে পারেন।
আউটপুট একটি স্ট্রিং, স্কিউ বাইনারি প্রতিনিধিত্বের সমান দশমিক প্রতিনিধিত্ব সহ একটি সংখ্যা বা অঙ্কের তালিকা (পূর্ণসংখ্যা বা অক্ষর / স্ট্রিং হিসাবে) হতে পারে। আপনাকে অবশ্যই নেতৃস্থানীয় শূন্যগুলি ফিরিয়ে দেওয়া উচিত নয়।
এটি কোড গল্ফ, তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।
মজাদার ঘটনা: এই নম্বর সিস্টেমটিতে আসলে কিছু যোগ্যতা রয়েছে। কোনও সংখ্যা বাড়ানোর সময়, আপনি সর্বদা সর্বাধিক দুটি সংলগ্ন অঙ্ক পরিবর্তন করবেন - আপনাকে কখনই পুরো সংখ্যার মাধ্যমে পরিবর্তনটি বহন করতে হবে না। সঠিক উপস্থাপনা যা ও (1) এ ইনক্রিমেন্টিংয়ের অনুমতি দেয়।
পরীক্ষার মামলা
1 => 1
2 => 2
3 => 10
6 => 20
7 => 100
50 => 11011
100 => 110020
200 => 1100110
1000 => 111110120
10000 => 1001110001012
100000 => 1100001101010020
1000000 => 1111010000100100100
1048576 => 10000000000000000001
1000000000000000000 => 11011110000010110110101100111010011101100100000000000001102
আমি সবচেয়ে সংক্ষিপ্ত উত্তরের জন্য একটি অনুগ্রহ দেব যা শেষ পরীক্ষার কেস (এবং অনুরূপ বিশালতার কোনও অন্য ইনপুট, তাই এটি হার্ডকোডিং সম্পর্কে চিন্তা করবেন না) এক সেকেন্ডেরও কম সময়ে সমাধান করবে।
লিডারবোর্ড
নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।
আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:
# Language Name, N bytes
N
আপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন। এই ক্ষেত্রে:
# Ruby, <s>104</s> <s>101</s> 96 bytes
<script>site = 'meta.codegolf'; postID = 5314; isAnswer = true; QUESTION_ID = 51517</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
59->60
এবং এর মধ্যে পার্থক্যটি দেখে আমি কেবল নিজের ভুলটি উপলব্ধি করেছিলাম109->110