বিপরীত (বাইনারি) বিট নম্বরটি কী?


33

সুতরাং আপনাকে একটি পজিটিভ বেস 10 (দশমিক) নম্বর দেওয়া হবে। আপনার কাজটি বাইনারি অঙ্কগুলি বিপরীত করা এবং সেই বেস 10 নম্বরটি ফিরিয়ে দেওয়া।

উদাহরণ:

1 => 1 (1 => 1)
2 => 1 (10 => 01)
3 => 3 (11 => 11)
4 => 1 (100 => 001)
5 => 5 (101 => 101)
6 => 3 (110 => 011)
7 => 7 (111 => 111)
8 => 1 (1000 => 0001)
9 => 9 (1001 => 1001)
10 => 5 (1010 => 0101)

এটি একটি চ্যালেঞ্জ, সুতরাং সলিউশন যা সর্বনিম্ন বাইট ব্যবহার করে।

এটি OEIS এ A030101


2
"বিট বিপরীত" এর অর্থ কি এর বাইনারি অঙ্কগুলি বিপরীত করে? কখনও কখনও এটি প্রতিটি বিট উল্টানো মানেও হতে পারে ।
ইটিএইচ প্রডাকশনগুলি

হ্যাঁ। অস্পষ্ট হওয়ার জন্য দুঃখিত।
জুনিয়ররবিস্ট 18

এটি এবং এটি ভিজিরির অনুরূপ।
জিওবিটস


1
"বেস 10" কোন বিশেষ কারণ কেন?
ক্যালকুলেটরফলাইন

উত্তর:


20

পাইথন , 29 বাইট

lambda n:int(bin(n)[:1:-1],2)

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

এটি একটি বেনামে, নামবিহীন ফাংশন যা ফলাফলটি দেয়।


প্রথমে bin(n)যুক্তিটিকে বাইনারি স্ট্রিতে রূপান্তরিত করে। আমরা সাধারণত স্লাইস স্বরলিপি দিয়ে এটিকে বিপরীত করব [::-1]। এটি স্ট্রিংটি -1 এর ধাপের সাথে , অর্থাৎ পিছনের দিকে পড়ে। যাইহোক, পাইথনের বাইনারি স্ট্রিংগুলি একটির সাথে উপসর্গযুক্ত 0bএবং তাই আমরা স্লাইসিংয়ের দ্বিতীয় যুক্তিটি 1 হিসাবে প্রদান করি , পাইথনকে সূচক 1 এ পিছনের দিকে পড়তে বলি , সুতরাং সূচকগুলি 1 এবং 0 না পড়া ।

এখন আমাদের পিছনের দিকে বাইনারি স্ট্রিং রয়েছে, আমরা এটি 2int(...) হিসাবে দ্বিতীয় আর্গুমেন্টের সাথে পাস করি । এটি স্ট্রিংটি বেস 2 পূর্ণসংখ্যার হিসাবে পড়ে, যা লাম্বদা এক্সপ্রেশন দ্বারা তত্পরতা ফিরে আসে।


2
আপনাকে 9 সেকেন্ডের মধ্যে মারবে at
mbomb007


6
@ mbomb007 তাই আমার উত্তরটি অবৈধ কারণ আপনি হাতের 9 সেকেন্ড আগে পোস্ট বোতামটি ক্লিক করেছেন? কেবল একই সময়ে আমরা একই গল্ফ পৌঁছানোর অর্থ এই নয় যে আমাদের কোনও উত্তর মুছতে হবে। যদি কিছু হয় তবে 0-প্রচেষ্টা প্রশ্নটিকে দোষ দিন।
ফ্লিপট্যাক

3
অবৈধ নয়, তবে অবশ্যই অর্থহীন। আমি যদি ধীর হয়ে থাকতাম তবে আমি কেবল আমার মুছতে পারি এবং এটির সাথে আমি যে দ্রুত এসেছি তার উপর একটি মন্তব্য পোস্ট করব।
mbomb007

1
@ স্যাটেনবার্গ কে যত্ন করে? একই কোড, একই স্কোর।
mbomb007


13

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

@ আরনাউল্ডকে 2 বাইট সংরক্ষণ করা হয়েছে

f=(n,q)=>n?f(n>>1,q*2|n%2):q

এটি মূলত একবারে বিপরীতকে কিছুটা গণনা করে: আমরা q = 0 দিয়ে শুরু করি ; যখন এন ইতিবাচক, আমরা গুন করা হয় কুই 2 দ্বারা, বন্ধ শেষ প্রান্তে Sever এন সঙ্গে n>>1, এবং এটি যোগ কুই সঙ্গে |n%2। যখন এন 0 এ পৌঁছায়, সংখ্যাটি সাফল্যের সাথে বিপরীত হয়ে গেছে, এবং আমরা কিউ ফিরে আসি

জেএস-এর দীর্ঘ অন্তর্নির্মিত নামগুলির জন্য ধন্যবাদ, সহজেই এই চ্যালেঞ্জটি সমাধান করতে 44 বাইট লাগবে:

n=>+[...n.toString(2),'0b'].reverse().join``

পুনরাবৃত্তি এবং একটি স্ট্রিং ব্যবহার করে, আপনি 32 বাইট সমাধান পেতে পারেন যা একই কাজ করে:

f=(n,q='0b')=>n?f(n>>1,q+n%2):+q

f=(n,q)=>n?f(n>>1,q*2|n%2):qপ্রায় কাজ করে। তবে দুঃখের বিষয় নয় n=0
আর্নল্ড

ইনপুটটি সর্বদা ইতিবাচক হবে কিনা তা সম্পর্কে @ আরনাউল্ড ওপি এখনও জবাব দেয়নি, তবে যদি তাই হয় তবে 0 টি হ্যান্ডেল করতে হবে না।
ফ্লিপট্যাক

এটি দেরীতে ফলোআপ, তবে ইনপুটটি এখন সর্বদা ইতিবাচক হিসাবে পরিচিত।
আর্নৌলদ

@ আরনাউল্ড ধন্যবাদ!
ইটিএইচ প্রডাকশনগুলি 18:38

10

জাভা 8, 53 47 46 45 বাইট

  • -4 বাইটস টাইটাসকে ধন্যবাদ
  • -1 বাইট কেভিন ক্রুইজসেনকে ধন্যবাদ

এটি একটি ল্যাম্বডা এক্সপ্রেশন যা ETH এর উত্তরের মতো একই নীতি রয়েছে (যদিও জাভাতে পুনরাবৃত্তি খুব ভার্জোজ হত, সুতরাং আমরা এর পরিবর্তে লুপ করব):

x->{int t=0;for(;x>0;x/=2)t+=t+x%2;return t;}

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

এটি দিয়ে বরাদ্দ করা যেতে পারে IntFunction<Integer> f = ..., এবং তারপরে কল করা যেতে পারে f.apply(num)। প্রসারিত, নিরবচ্ছিন্ন এবং মন্তব্য করা হয়েছে, দেখে মনে হচ্ছে এটি:

x -> { 
    int t = 0;           // Initialize result holder   
    while (x > 0) {      // While there are bits left in input:
        t <<= 1;         //   Add a 0 bit at the end of result
        t += x%2;        //   Set it to the last bit of x
        x >>= 1;         //   Hack off the last bit of x
    }              
    return t;            // Return the final result
};

1
এর t*2পরিবর্তে 3 বাইট সংরক্ষণ করুন (t<<1), লুপের মাথা থেকে লুপের শরীরে সেই গণনাটি সরানোর সাথে আরও একটি। আপনি কি শর্তের xপরিবর্তে ব্যবহার করতে পারেন x>0?
তিতাস

2
@ টিটাস কোনও বুলিয়ানকে সুস্পষ্ট কাস্ট ব্যতীত নয়, তবে অন্যান্য টিপসের জন্য ধন্যবাদ! এছাড়াও এটি উপলব্ধ হয়েছে যে x>>=1এটি প্রতিস্থাপন করা যেতে পারে x/=2কারণ এটি স্বয়ংক্রিয়ভাবে পূর্ণসংখ্যা বিভাগ হবে।
ফ্লিপট্যাক

45 বাইট (পরিবর্তন করা t=t*2+হয়েছে t+=t+)
কেভিন ক্রুইজসেন

পছন্দ করুন
ফ্লিপট্যাক


8

জেলি , 3 বাইট

BUḄ

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

B   # convert to binary
 U  # reverse
  Ḅ # convert to decimal

7
এটি বেশ সংক্ষিপ্ত,
বুব

হুম ... আসলেই কি 3 বাইট ?
আইয়ুব

1
@ আইওবে ইয়েপ জেলি এটির নিজস্ব কোড পৃষ্ঠা ব্যবহার করে যেখানে এই অক্ষরগুলির প্রতিটি 1 বাইট।
রিলি

শীতল ধন্যবাদ! <প্যাড>
আইয়ুব 6'17


7

ল্যাবরেথ, 23 বাইট

?_";:_2
  :   %
 @/2_"!

ঠিক আছে, এটি বিশ্রী ... এটি আমার বিগ এবং আমার আইডি 10 টি ত্রুটি উভয়ই নির্দেশ করার জন্য @ মার্টিন ইেন্ডারকে বিপরীত বিনয়ের নম্বরটি প্রদান করে Thanks সুতরাং এটি কাজ করে না, আমাকে আরও একটি সমাধান বের করতে হবে।


1
পিপিসিজিতে স্বাগতম, এবং প্রথম প্রথম পোস্ট! ল্যাজব্যাথের মতো ভাষায় কেবল একটি চ্যালেঞ্জ সম্পন্ন করা খুব কঠিন হতে পারে। এখানে প্রায়শই, আমরা সাধারণত একটি বা দুটি হ্যাশ দিয়ে একটি উত্তরের প্রথম লাইনের উপসর্গ করি, যাতে এটি শিরোনাম হিসাবে প্রদর্শিত হয়:# Labyrinth, 89 bytes
ETH প্রোডাকশনগুলি

1
আপনি কি ঘটনাক্রমে দ্বিতীয় সারির একটি শীর্ষস্থানীয় জায়গা বাদ দিয়েছেন? এটি যেমন দাঁড়ায়, প্রোগ্রামটি প্রথম লাইনে পিছনে পিছনে ফিরে আসবে কারণ _জংশনগুলিতে রয়েছে।
মার্টিন ইন্ডার

দুর্ভাগ্যক্রমে, আমি কেবল লক্ষ্য করেছি যে নির্বিশেষে এটি বৈধ নয়, কারণ চ্যালেঞ্জটি তার বাইনারি উপস্থাপনা নয়, বিপরীত সংখ্যার বেস -10 প্রতিনিধিত্বের জন্য বলে।
মার্টিন ইন্ডার

6

সি, 48 44 43 42 বাইট

-১ বাইট ধন্যবাদ গুরকা এবং -১ বাইট ধন্যবাদ অ্যানাটলিগকে:

r;f(n){for(r=n&1;n/=2;r+=r+n%2);return r;}

পূর্ববর্তী 44 বাইট সমাধান:

r;f(n){r=n&1;while(n/=2)r=2*r+n%2;return r;}

পূর্ববর্তী 48 বাইট সমাধান:

r;f(n){r=0;while(n)r=2*(r+n%2),n/=2;return r/2;}

অবহেলিত এবং ব্যবহার:

r;
f(n){
 for(
  r=n&1;
  n/=2;
  r+=r+n%2
 );
 return r;}
}


main() {
#define P(x) printf("%d %d\n",x,f(x))
P(1);
P(2);
P(3);
P(4);
P(5);
P(6);
P(7);
P(8);
P(9);
P(10);
}

rএখানে ইতিমধ্যে শূন্যে আরম্ভ করা হয়নি r;f(n){r=0;, যেমন r=0;অপ্রয়োজনীয়? ছোটখাটো টাইপও: "পূর্ববর্তী 48 বাইট সমাধান"
সাইমন

1
@ গুরকা ফাংশনটি পুনরায় ব্যবহারযোগ্য হওয়া উচিত।
কার্ল ন্যাপফ

1
আমি মনে করি forলুপগুলি সর্বদা লুপগুলির চেয়ে কমপক্ষে স্বল্প whileএবং প্রায়শই খাটো থাকে।
আনাতোলিগ

@নাটোলিগ এর মতো কিছু : r;f(n){for(r=n&1;n/=2;r=2*r+n%2);return r;}? 1 বাইট সংক্ষিপ্ত, তবে আমি এটি বৈধ সি (সি 99) না হলে নিশ্চিত ure
সাইমন 22

হ্যাঁ; এছাড়াও, ঘুরে =মধ্যে +=এটি ছোট অথবা আরও বেশি obfuscated করতে
anatolyg

5

রুবি, 29 28 বাইট

->n{("%b"%n).reverse.to_i 2}

"% b"% n ইনপুট n কে বাইনারি স্ট্রিং হিসাবে ফর্ম্যাট করে, বিপরীত করে, তারপর কোনও সংখ্যায় ফিরে রূপান্তর করে

ব্যবহার / পরীক্ষার কেস:

m=->n{("%b"%n).reverse.to_i 2}
m[1] #=> 1
m[2] #=> 1
m[3] #=> 3
m[4] #=> 1
m[5] #=> 5
m[6] #=> 3
m[7] #=> 7
m[8] #=> 1
m[9] #=> 9
m[10] #=> 5

@ টিটাস আমি মনে করি আপনি উত্তরটি ভুল বুঝেছেন। 2তিনি যে ভিত্তিতে রূপান্তর করছেন তা nহ'ল এবং এটি ইনপুট। ->args{return value}রুবি
ল্যাম্বদা

আপনি কি বন্ধনীগুলি সরাতে পারবেন .to_i(2)?
সাইলোস

@ কিউস নিশ্চিত, ধন্যবাদ।
অ্যালেক্সিস অ্যান্ডারসন


4

জাভা (ওপেনজেডিকে) , 63 বাইট

a->a.valueOf(new StringBuffer(a.toString(a,2)).reverse()+"",2);

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

-12 বাইটের জন্য এবং পোলাস -8 বাইটের জন্য সাইকেসকে ধন্যবাদ!


যদিও REPL জমা দেওয়ার অনুমতি দেওয়া হলেও তারা এখনও এই নিয়মটি অনুসরণ করে যে আপনি অনুমান করতে পারবেন না যে ইনপুট পূর্বনির্ধারিত ভেরিয়েবলগুলিতে রয়েছে (যেমন aএই প্রসঙ্গে)
ফ্লিপট্যাক

@ ফ্লিপট্যাক ওফস আমি এই পুনঃস্থাপনটির অস্তিত্ব স্মরণ করার আগে এটি মূলত একটি ফাংশন ছিল
পাভেল

1
এছাড়াও, ভবিষ্যতে, গল্ফিংয়ের printপরিবর্তে ব্যবহার করুন println:)
ফ্লিপট্যাক

1
StringBufferএকটি বাইট ওভার সাশ্রয় করুনStringBuilder
পোকে

1
আপনি কি +""তার পরিবর্তে করতে পারেন .toString()?
সাইওস

3

পার্ল 6 , 19 বাইট

{:2(.base(2).flip)}

ইনপুট কোথায়?
টাইটাস

এটি এমন একটি ফাংশন যা একটি একক প্যারামিটার নেয় $_। এটি নাম দ্বারা উল্লেখ করা হয়নি, তবে baseপদ্ধতিটি এটিতে কল করা হয়।
শান

2
পার্ট 6 -তে টাইটাস একটি ব্লক কোডের এক প্রকার, যা বলা যায় এটি কলযোগ্য বস্তু। উপরেরটি একটি অভিব্যক্তি যা আপনি অন্য ভাষায় কোনও ফাংশন বা ল্যাম্বডারের মতো কোনও ভেরিয়েবলটি গ্রহণ ও নির্ধারণ করতে পারেন বা সরাসরি কল করতে পারেন - {:2(.base(2).flip)}(10)আরপিএল - এ প্রিন্ট হবে 5.. সুতরাং এটি কোনও ফাংশনের জন্য মানক কোড-গল্ফের মানদণ্ড পূরণ করে।
hobbs 6:55



3

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

<?=bindec(strrev(decbin($argn)));

বেস 2, বিপরীত স্ট্রিং, দশমিক রূপান্তর। ফাইল এ সংরক্ষণ করুন এবং পাইপ হিসাবে চালানো -F

কোন বিল্টিনস:

পুনরাবৃত্তি, 41 বাইট

for(;$n=&$argn;$n>>=1)$r+=$r+$n%2;echo$r;

ইনপুট বিটস সেট করার সময়, ইনপুট থেকে কিছুটা পপ করুন এবং আউটপুটটিতে পুশ করুন। পাইপ হিসাবে চালান -nR

পুনরাবৃত্তি, 52 বাইট

function r($n,$r=0){return$n?r($n>>1,$r*2+$n%2):$r;}

@ জার্গহেলসারম্যান 44 বাইট রয়েছে $r+=$r। তবে আমি আসলে মনে করি না কেন আমি এটিকে সামনে রেখেছি।
তিতাস




2

স্কালা, 40 বাইট

i=>BigInt(BigInt(i)toString 2 reverse,2)

ব্যবহার:

val f:(Int=>Any)=i=>BigInt(BigInt(i)toString 2 reverse,2)
f(10) //returns 5

ব্যাখ্যা:

i =>          // create an anonymous function with a parameter i
  BigInt(       //return a BigInt contructed from
    BigInt(i)     //i converted to a BigInt
    toString 2    //converted to a binary string
    reverse       //revered
    ,           
    2             //interpreted as a binary string
  )


1

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

{0.parseInt(0.toBinaryString(it).reverse(),2)}

এটি কি কোনও ইনপুট নেয়?
টাইটাস

1
@ টিটাস itএকটি ব্লক আইআইআরসি
সাইওস

আমি পছন্দ করি এটি আমার জাভা উত্তরের সমান দৈর্ঘ্য - জাভা এবং গ্রোভী, iteক্যবদ্ধ!
ফ্লিপট্যাক

1
@ ফ্লিপট্যাক আমি এখন কাঁদতে যাব
ম্যাজিক অক্টোপাস উরন


1

ব্যাচ, 62 বাইট

@set/an=%1/2,r=%2+%1%%2
@if %n% gtr 0 %0 %n% %r%*2
@echo %r%

ব্যাখ্যা: প্রথম পাসে খালি থাকার %1সময় ইনপুট প্যারামিটার থাকে %2। অতএব আমরা nঅর্ধেক হিসাবে %1এবং মডুলো 2 rহিসাবে মূল্যায়ন করি +%1( %অপারেটরটিকে এটি উদ্ধৃত করতে দ্বিগুণ করতে হবে)। যদি nশূন্য না হয়, আমরা তখন নিজেকে লেজ বলি পুনরাবৃত্তিমূলকভাবে পূর্বে প্রবেশ করানো nএবং একটি অভিব্যক্তি যা পরের পাসে rপ্রতিটি সময় কার্যকরভাবে দ্বিগুণ হয়ে মূল্যায়িত হয় ।



1

আর, 55 বাইট

sum(2^((length(y<-rev(miscFuncs::bin(scan()))):1)-1)*y)

স্টিডিনের ইনপুট পড়ুন এবং ফলস্বরূপ প্যাকেজ binথেকে ফাংশনটি miscFuncsদশমিক থেকে বাইনারি ভেক্টরে রূপান্তর করতে ব্যবহার করে ।


1

বিরক্তিকর ভাবে আত্মসাম্মুখ্যপূর্ণ , 19 বাইট

কোন বিল্টিন বেস রূপান্তর!

$&2%v2/;FL:vK2*;OS#

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

পুশির দুটি স্ট্যাক রয়েছে এবং এই উত্তরটি এটি ব্যাপকভাবে ব্যবহার করে।

এই প্রোগ্রাম দুটি অংশ দুটি আছে। প্রথমে, $&2%v2/;Fসংখ্যাটিকে তার বিপরীত বাইনারি উপস্থাপনায় রূপান্তর করে:

            \ Implicit: Input is an integer on main stack.
$      ;    \ While i != 0:
 &2%v       \   Put i % 2 on auxiliary stack
     2/     \   i = i // 2 (integer division)
        F   \ Swap stacks (so result is on main stack)

উদাহরণ 10 দেওয়া, স্ট্যাকগুলি প্রতিটি পুনরাবৃত্তির উপর নিম্নলিখিত হিসাবে প্রদর্শিত হবে:

1: [10]
2: []

1: [5]
2: [0]

1: [2]
2: [0, 1]

1: [1]
2: [0, 1, 0]

1: [0]
2: [0, 1, 0, 1]

আমরা দেখতে পাচ্ছি চূড়ান্ত পুনরাবৃত্তির পরে, 0, 1, 0, 1দ্বিতীয় স্ট্যাকের উপর তৈরি করা হয়েছে - 10 এর বিপরীত বাইনারি সংখ্যা,0b1010

কোডের দ্বিতীয় অংশটি, L:vK2*;OS#আমার পূর্ববর্তী উত্তর থেকে নেওয়া হয়েছে যা বাইনারি দশমিককে রূপান্তর করে । সেই উত্তরে ডিক্স্রিবিড এবং ব্যাখ্যা করা পদ্ধতিটি ব্যবহার করে, এটি স্ট্যাকের বাইনারি অঙ্কগুলিকে বেস 10 পূর্ণসংখ্যায় রূপান্তর করে এবং ফলাফলটি মুদ্রণ করে।



0

সি #, 167 বাইট

 for(int i = 1; i <= 10; i++)
 {
 var bytes= Convert.ToString(i, 2);
 var value= Convert.ToInt32(byteValue.Reverse()); 
 console.WriteLine(value);
}

ব্যাখ্যা:

এখানে আমি n মানগুলি পুনরাবৃত্তি করব এবং প্রতিবার পুনরাবৃত্ত পূর্ণসংখ্যার মানটি বাইট মানে রূপান্তরিত হয় তারপরে সেই বাইট মানটি বিপরীত হয় এবং সেই বাইট মানটি পূর্ণসংখ্য মানের রূপান্তরিত হয়।


1
সাইটে স্বাগতম! আমি সি # সম্পর্কে খুব বেশি কিছু জানি না তবে আপনার কাছে অবশ্যই অতিরিক্ত হোয়াইটস্পেস সরিয়ে ফেলার প্রস্তাব দেওয়া উচিত। এই জমা দেওয়ার ক্ষেত্রে I / O এর সাথে কীভাবে আচরণ করা হবে তাও পরিষ্কার নয়। এটি হয় লিখুন একটি ফাংশন বা ব্যবহার করতে মান STDIN(আমার ধারণা যে console.Read()কিন্তু আপনি সম্ভবত আমি করব বেশী ভালো জানতে চাই) এবং STDOUT। যাইহোক, আপনি যদি গল্ফিং সি # তে আরও অভিজ্ঞ পরামর্শ চান তবে সাইটটিতে আপনাকে স্বাগতম! আমি কোডগলফ.স্ট্যাকেক্সেঞ্জিং
গম উইজার্ড

আমি এই উত্তরটিকে অগ্রাহ্য করেছি, কারণ এটি মোটেও কার্যকর হয় না। .Reverse()returnes IEnumerable<char>। হিসাবে Convert.ToInt32একটি জমিদার IEnumerable জন্য এটি একটি ব্যতিক্রম ছোঁড়ার নেই। এছাড়াও উত্তরটি গল্ফের জন্য উত্তরগুলি অনুসরণ করে না: 1) কিছুই নির্দিষ্ট করা হয়নি বলে জমাটি একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন হতে হবে কেবল একটি স্নিপেট নয়। 2) usingবিবৃতি অবশ্যই বাইট গণনায় অন্তর্ভুক্ত করা উচিত
রাজনগুল

0

সি / সি ++ 136 বাইট

uint8_t f(uint8_t n){int s=8*sizeof(n)-ceil(log2(n));n=(n&240)>>4|(n&15)<<4;n=(n&204)>>2|(n&51)<<2;n=(n&172)>>1|(n&85)<<1;return(n>>s);}

এটি জিততে যাচ্ছে না, তবে আমি ফাংশনে সি / সি ++ ১২০ বাইটে আলাদা পন্থা নিতে চাই

#include <math.h>
#include <stdio.h>
#include <stdint.h>

uint8_t f(uint8_t n){
    int s=8*sizeof(n)-ceil(log2(n));
    n=(n&240)>>4|(n&15)<<4;
    n=(n&204)>>2|(n&51)<<2;
    n=(n&172)>>1|(n&85)<<1;
    return (n>>s);
}

int main(){
    printf("%u\n",f(6));
    return 0;
}

আমি যা করছি তার বিশদটি জানাতে, আমি ইনপুট দ্বারা ব্যবহৃত বিটের সংখ্যা নির্ধারণ করতে লগ ফাংশনটি ব্যবহার করেছি। তিনটি বিট শিফট বাম / ডানদিকে, অভ্যন্তরে / বাইরে, এমনকি / বিজোড় যা পুরো পূর্ণসংখ্যাকে উল্টায়। সংখ্যাটি ডানদিকে ফিরিয়ে আনতে অবশেষে কিছুটা শিফট। হেক্সের পরিবর্তে বিট শিফটের জন্য দশমিক ব্যবহার করা ব্যথা তবে এটি কয়েকটি বাইট সংরক্ষণ করে।


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