ক্ষমতার যোগফল 2


31

চ্যালেঞ্জ

একটি পূর্ণসংখ্যার ইনপুট দেওয়া হয়েছে xযেখানে 1 <= x <= 255, দুটি প্রদানের সংক্ষিপ্ত যখন পাওয়ার সংখ্যার ফলাফল প্রদান করে x

উদাহরণ

ইনপুট দেওয়া হয়েছে:

86

আপনার প্রোগ্রাম আউটপুট করা উচিত:

64 16 4 2

ইনপুট:

240

আউটপুট:

128 64 32 16

ইনপুট:

1

আউটপুট:

1

ইনপুট:

64

আউটপুট:

64

দুটির নির্দিষ্ট শক্তি যোগফলটিতে উপস্থিত না হলে আউটপুটে শূন্য থাকতে পারে।

উদাহরণস্বরূপ, ইনপুট 65আউটপুট পারে 0 64 0 0 0 0 0 1

স্কোরিং

এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ত উত্তর জিততে পারে।


5
তালিকাটি কি সর্বোচ্চ থেকে নীচে বাছাই করতে হবে?
অ্যাডাম

2
আমরা কি কিছু অপ্রয়োজনীয় শূন্যগুলি আউটপুট করতে পারি?
জোনাথন অ্যালান

4
RE: "সর্বোচ্চ থেকে নিম্নে সাজানো" কেন এমন একটি বিধিনিষেধ যুক্ত করুন যা চ্যালেঞ্জের অংশ ছিল না এবং সর্বাধিক বিদ্যমান উত্তরগুলি বাতিল করে দেয়? (এছাড়াও লিটল-এন্ডিয়ান সম্পর্কে কী ?!) + এটি আমার পাইথনের উত্তরটি বাতিল করে দেয় কারণ সেটের কোনও অর্ডার নেই।
জোনাথন অ্যালান

5
@ জোনাথান অ্যালান আমি এই নিষেধাজ্ঞা সরিয়ে ফেলেছি। আমি পরের বার অন্য একটি প্রশ্ন পোস্ট করব তা মনে রাখব - আমি এখনও এটিতে মোটামুটি নতুন। :)
স্পোকিজেঙ্গার

6
আমি মনে করি আপনি হয়ত বলতে চাইবেন যে দুজনের যে কোনও শক্তি কেবল একবার ব্যবহার করা যেতে পারে। অন্যথায় কেউ ইনপুট 3 এর জন্য "1 1 1" আউটপুট দিতে পারে
কালো আউল কাই

উত্তর:


38

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

f=n=>n?[...f(n&~-n),n&-n]:[]

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


9
আপনি সমগ্র বিশ্বের একমাত্র ব্যক্তি যিনি আমাকে জাভাস্ক্রিপ্টের উত্তরগুলিকে উজ্জীবিত করতে পারেন!
সার্জিওল

4
@ সার্জিওল, আপনি সাধারণভাবে কোনও জেএস সমাধানকে কেন আপত্তি করবেন না? যে ভাষা ব্যবহার করা হয়েছে বা কারা পোস্ট করেছেন তা বিবেচনা না করেই একটি ভাল সমাধান হ'ল একটি ভাল সমাধান।
শেগি

@ শেগি কারণ আর্নল্ডই কেবল জাভাস্ক্রিপ্ট সমাধানগুলি করতে পারে বলে মনে হয়। তার উত্তর খাঁটি প্রতিভা!
সার্জিওল

3
@ সার্জিওল প্রশংসা করার জন্য ধন্যবাদ, তবে এটি মোটেই সত্য নয়। আমি আরও চৌকস জবাব দিয়ে নিয়মিত ছড়িয়ে পড়েছি - এবং এই সাইটটি সম্পর্কে এটিই। ^^
আর্নল্ড

অলিভার আমি নিশ্চিত নই মনে হচ্ছে নেতৃস্থানীয় শূন্যগুলি (128 এর আগে) নিষিদ্ধ। অন্যথায়, অন্য সম্ভাব্য রূপটি হ'ল f=n=>n&&f(n&~-n)+[,n&-n]
আর্নৌল্ড


12

জেলি , 4 বাইট

-2 যেহেতু আমরা 2 :) অব্যবহৃত শক্তির জায়গায় জিরো আউটপুট দিতে পারি

Ḷ2*&

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

কিভাবে?

Ḷ2*& - Link: integer, n         e.g. 10
Ḷ    - lowered range of n            [  0,  1,  2,  3,  4,  5,  6,  7,  8,  9]
 2*  - two to the power of           [  1,  2,  4,  8, 16, 32, 64,128,256,512]
   & - bit-wise and                  [  0,  2,  0,  8,  0,  0,  0,  0,  0,  0]

11

জেলি , 6 বাইট

BUT’2*

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

ব্যাখ্যা

তবে এখানে একটি ব্যাখ্যা দেওয়া আছে (দ্রষ্টব্য: আমি ধরে নিয়েছিলাম যে আমরা কেবল 2 এর ক্ষমতা আউটপুট করতে পারি এবং অন্য কিছুই নয়):

BUT’2* – Monadic link. Takes a number N as input. Example: 86
B      – Convert N to binary.                              [1, 0, 1, 0, 1, 1, 0]
 U     – Reverse.                                          [0, 1, 1, 0, 1, 0, 1]
  T    – Truthy indices.                                   [2, 3, 5, 7]
   ’   – Decrement.                                        [1, 2, 4, 6]
    2* – Raise 2 to that power.                            [2, 4, 16, 64]

"প্রমাণ" এটি সঠিকভাবে কাজ করে। বেস 2 তে পূর্ণসংখ্যার এর স্ট্যান্ডার্ড উপস্থাপনা হ'ল একটি তালিকা where , যেখানে , যেমন: সূচকগুলিতে যেমন অবদান নেই স্পষ্টতই আমরা কেবল আগ্রহী এই জাতীয় । যেহেতু থেকে বিয়োগ করা সুবিধাজনক নয় (দুজনের ফর্মের , যেখানে কোনও সূচকX{x1,x2,x3,,xn}xi{0,1},i1,n¯

X=i=1nxi2ni
ixi=0xi=1innii1), এই তালিকায় সত্যবাদী সূচকগুলি সন্ধান করার পরিবর্তে আমরা এটিকে বিপরীত করি এবং তারপরে তাদের "পিছনের দিকে" পাই । এখন যেহেতু আমরা সঠিক সূচকগুলি পেয়েছি আমাদের যা করতে হবে তা হ'ল সেই ক্ষমতাগুলিতে বৃদ্ধি করা ।2UT2


1
"ASCII- কেবল" সেখানে
লুক্কায়িত

1
@ এরিকথ আউটগল্ফার আমার ধারণা অনুমান BUT2*Hযদিও এটি কার্যকর হবে।
মিঃ এক্সকোডার

1
অত্যন্ত চিত্তাকর্ষক যে এটি 302231454903657293676544 ইনপুট নিয়ে কাজ করে
মাইকেল কারাস


8

এপিএল (ডায়ালগ প্রসারিত) , 7 বাইট এসবিসিএস

বেনামে ট্যাসিট প্রিফিক্স ফাংশন। 0-ভিত্তিক সূচকের প্রয়োজন ( ⎕IO←0)।

2*⍸⍢⌽⍤⊤

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

2 দুই
* উপর ঘাত ɩ ndices যেখানে সত্য  যখন  বিপরীত  এর  বাইনারি উপস্থাপনা





8

স্লেজহ্যামার 0.2, 3 বাইট

⡔⡸⢣

মধ্যে সঙ্কোচিত {intLiteral[2],call[NumberExpand,2]}

স্লেজহ্যামার হ'ল ওল্ফ্রাম ল্যাঙ্গুয়েজ কোডের জন্য একটি কোড পৃষ্ঠা হিসাবে ব্রেইল ব্যবহার করে একটি সংকোচকারী। উপরের আসল আকারটি 2.75 বাইট, তবে মেটা সম্পর্কিত বর্তমান নিয়মের কারণে নিকটতম বাইটে প্যাডিং কোড আকারে গণনা করা হয়।


2
হাহ! ঝরঝরে সামান্য ভাষা এবং সমস্ত অক্ষর আসলে মুদ্রণযোগ্য।
LegionMammal978

এবং এখন আমি আমার মনের বাইরে পিটার গ্যাব্রিয়েল গানটি পেতে পারি না ...
ডিজিটাল ট্রমা

8

05 এ বি 1 , 3 বাইট

Ýo&

@ জোনাথন অ্যালান এর জেলি উত্তর এর বন্দর , তাই তাকে upvote নিশ্চিত করুন!

শূন্য ধারণ করে (চিকিত্সার শূন্যগুলি সহ)।

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

Ý      # Create a list in the range [0, (implicit) input]
       #  i.e. 15 → [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
       #  i.e. 16 → [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
 o     # Take 2 to the power of each value
       #  → [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768]
       #  → [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536]
  &    # Bitwise-AND each value with the (implicit) input
       # 15 → [1,2,4,8,0,0,0,0,0,0,0,0,0,0,0,0]
       # 16 → [0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0]
       # (and output the result implicitly)

1
... কি?! bitwise andওস্যাবিতে কখনই সততার সাথে ব্যবহার করতে দেখা যায় না। সুন্দর.
যাদু অক্টোপাস উরন

পছন্দ করুন এমনকি অন্য কোন উত্তর আমি ব্যবহার করেছি খুঁজে পাওয়া যাচ্ছে না না &হবে। XD আমি, bitwise-XOR যাও বার কয়েক ব্যবহার করেছেন মত এখানে বা এখানে এবং bitwise নয় একবার এখানে (যা আমি পরে আরও golfing পরে আবার মুছে ..)। আমি জাভাতে প্রায়শই প্রায়শই বিটওয়াইস-এন্ড, এক্সওআর, ওআর, নট, শিফট ইত্যাদি ব্যবহার করি না, তবে 05 এবি 1 এ তেমন কিছু হয় না। :)
কেভিন ক্রুইজসেন



7

আর , 27 23 বাইট

bitwAnd(scan(),2^(7:0))

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

নিবন্ধভুক্ত কোড এবং ব্যাখ্যা:

A = scan()         # get input number A from stdin
                   # e.g. A = 65

bitwAnd( A , 2^(7:0))  # bitwise AND between all powers of 2 : 2^7 ... 2^0 and A
                       # and implicitly print the result
                       # e.g. B = bitwAnd(65, c(128,64,32,16,8,4,2,1)) = c(0,64,0,0,0,0,0,1)
  • 4 বাইট @ কিরিল এলকে ধন্যবাদ

1
বিটওয়াইস সহ 23 বাইট এবং।
কিরিল এল।

@ কিরিলল .: উজ্জ্বল!
13 ই

7

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 29 বাইট

5 টি অপ্রিন্টযোগ্য অক্ষর রয়েছে।

n=>"€@ ".Select(a=>a&n)

ব্যাখ্যা

//Lambda taking one parameter 'n'
n=>
//String with ASCII characters 128, 64, 32, 16, 8, 4, 2, and 1
"€@ "
//Iterate through all the chars of the above string and transform them to
.Select(a=>
//A bitwise AND operation between the integer value of the current char and the input value
a&n)

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


তবে আমাদের শূন্য থেকে মুক্তি পাওয়া দরকার, যেমন n=>new int[8].Select((j,i)=>1<<i&n).Where(i=>i!=0)পার্টটি Whereপাঁচটি বাইটের চেয়ে ছোট
বিটিডব্লিউ

@ পলফোসোলThe output may contain zeros
জো কিং

2
@ জোকিং স্টিল, n=>new int[8].Select((j,i)=>1<<i&n)35 বাইট দীর্ঘ এবং আমাদের অতিরিক্ত পতাকা এবং পাঠ্য এনকোডিংয়ের প্রয়োজন হবে না।
polfosol ఠ_ఠ

1
এসিআই অক্ষর 0-7 ব্যবহার করা ছোট হওয়া উচিত, উদাহরণস্বরূপ n=>"INSERT ASCII HERE".Select(a=>1<<a&n)তবে আমি এমন একটি মোবাইল ডিভাইসে রয়েছি যা অপ্রিন্টেবলগুলি প্রদর্শন বা টাইপ করতে পারে না, তাই উত্তরটি আপডেট করতে বাড়িতে পৌঁছানো পর্যন্ত আমাকে অপেক্ষা করতে হবে
অজ্ঞতার প্রতিমূর্তি

6


1
ব্যর্থ ইনপুট জন্য 1, 2, 4, 8, 16, ইত্যাদি ( x>yহওয়া উচিত x>=yপরিবর্তে)।
কেভিন ক্রুইজসেন

1
@ এএসসিআইইনি - আমি আপনাকে বলছি, রেঞ্জ অপারেটর মিষ্টি হতে চলেছে :)
ডানা

@ হওয়া ASCII শুধুমাত্র মিন সময় আপনি ফ্ল্যাগ ব্যবহার করতে পারে /u:System.Linq.Enumerableএবং চেষ্টা এই 31 বাইট জন্য
অজ্ঞতা প্রতিমূর্তি

এম্বোডিমেন্টফ অজানা নিশ্চিত তবে আমি ভাষাটিকে "সি # /u:System.Linq.Enumerable" হিসাবে তালিকাভূক্ত করতে পছন্দ করব না : পি
এএসসিআই-কেবল





5

সি (ঝনঝন) , 133 110 63 58 বাইট

58-বাইট সমাধান @ সিলিংক্যাট ধন্যবাদ

x=256;main(y){for(scanf("%d",&y);x/=2;)printf("%d ",y&x);}

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


C89 এ, আপনি পছন্দ হিসাবে main(){}এবং রিটার্ন টাইপ পূর্বনির্ধারিত ডিফল্ট হিসাবে ঘোষণা করতে পারেন । বৈশ্বিক সুযোগে ভেরিয়েবলের জন্য একই। এছাড়াও কমপক্ষে স্বাভাবিক প্রয়োগের মতো ঝনঝন, প্রিন্টফ এবং স্ক্যানফ প্রোটোটাইপগুলি ছাড়া কাজ করে। আপনি অবশ্যই সতর্কতা পেয়েছেন তবে এগুলি স্পষ্টভাবে ঘোষণা করার জন্য এটি এখনও বৈধ C89 (সম্ভবত) বা কমপক্ষে কেএন্ডআর সি C আরগস হিসাবে আপনি যে ধরণের সি অবজেক্টগুলি পাস করেন সেগুলি কীভাবে পাস হবে তা নির্ধারণ করে, সুতরাং একটি char*এবং int*x86-64 বা অন্য কোনও কিছুর উপর 32-বিটের পয়েন্টার কেটে না নিয়ে কাজ করবে। (ডিফল্ট আর্গুমেন্ট প্রচারগুলি যেমন হয় তেমনি তারা বিভিন্ন ধরণের ফাংশনগুলির জন্যই ঘটে))
পিটার কর্ডেস

বা কোনও অপরিজ্ঞাত আচরণ ছাড়াই এটি বৈধ সি 11 হওয়ার লক্ষ্য রয়েছে? যদি তাই হয় তবে গর্ব করে তা ঘোষণা করুন। :) এবং বিটিডব্লিউ, একটি ফাংশন লিখেছেন যা আউটপুট অ্যারেটিকে একটি আর্গ হিসাবে গ্রহণ করে সম্ভবত ছোট হবে। যাইহোক, সি
পিটার কর্ডেস

আপনি কিছু &সেট করা আছে কিনা তা পরীক্ষা করতে বিটওয়াইজ ব্যবহার করতে পারেন । লাইক y&(1<<x)&&printf("%d ",1<<x);। বা জিরোগুলি এড়িয়ে যাবেন না, ঠিক printf("%d ", y&(1<<x))। বা বিট পজিশনগুলি গণনা করার পরিবর্তে, মাস্কটি ব্যবহার করুন x=256এবং x>>=1শিফট করুন। main(y){int x=256;for(scanf("%d",&y);x>>=1;)printf("%d ",y&x);}By৩ বাইট এটি অনলাইন ব্যবহার করে দেখুন! ঝনঝন এমনকি এটি সংকলন করবে-std=c11
পিটার কর্ডেস


4

এমএটিএল , 5 বাইট

BPfqW

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

ব্যাখ্যা

86উদাহরণ হিসাবে ইনপুট বিবেচনা করুন ।

B    % Implicit input. Convert to binary (highest to lowest digits)
     % STACK: [1 0 1 0 1 1 0]
P    % Flip
     % STACK: [0 1 1 0 1 0 1]
f    % Find: indices of nonzeros (1-based)
     % STACK: [2 3 5 7]
q    % Subtract 1, element-wise
     % STACK: [1 2 4 6]
W    % Exponential with base 2, element-wise. Implicit display
     % STACK: [2 4 16 64]

4

পার্ল 6 , 16 12 বাইট

-4 বাইট জনাথন অ্যালান ধন্যবাদ

*+&2**all ^8

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

8 টি উপাদান সহ একটি সমস্ত জংশন ফিরিয়ে দেয়। এটি প্রত্যাবর্তনের একটি বরং মান -হীন উপায়, তবে সাধারণত, জংশনগুলি আদেশ অনুসারে কাজ করতে পারে (কমপক্ষে অটোথ্রেডিং কার্যকর না হওয়া পর্যন্ত) তালিকাগুলি তালিকা থেকে কাজ করতে পারে এবং একটি থেকে মানগুলি বের করা সম্ভব।

ব্যাখ্যা:

*+&              # Bitwise AND the input with
   2**           # 2 raised to the power of
      all ^8     # All of the range 0 to 7

4

জাপট, 8 5 বাইট

Æ&2pX

চেষ্টা করে দেখুন

Æ&2pX     :Implicit input of integer U
Æ         :Map each X in the range [0,U)
 &        :  Bitwise AND of U with
  2pX     :  2 to the power of X

বিকল্প

পতাকা ব্যবহার করে আউটপুটে গুলি এড়ানোর জন্য অলিভার দ্বারা প্রস্তাবিত ।0-mf

N&2pU

চেষ্টা করে দেখুন

N&2pU     :Implicitly map each U in the range [0,input)
N         :The (singleton) array of inputs
 &        :Bitwise AND with
  2pX     :2 to the power of U
          :Implicitly filter and output

1
সুন্দর. আপনি কি করতে পারেন N&2pUসঙ্গে -mfএড়াতে 0গুলি
অলিভার

4

05 এ বি 1 ই , 9 বাইট

Ýoʒ›}æʒOQ

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


এটি--বাইটের জন্যও সঠিক, তবে টিআইও-র সময় এটি 86 এর জন্য শেষ হয় না:

05 এ বি 1 ই , 6 বাইট

ÝoæʒOQ

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


1
আপনার উত্তর দুটিই এর 15পরিবর্তে একটি খালি সেট আউটপুট দেয়[1,2,4,8]
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুজসেন দরকার 2**0, দুর্দান্ত ধরা। Ýওভার L
যাদু অক্টোপাস উরন

1
আহ, আমি অনুভূতি জানি। আমার উত্তর প্রথম দিকে Lপরিবর্তে ছিল Ý
কেভিন ক্রুইজসেন



4

কে (ওকে) , 19 16 বাইট

-3 বাইট ধন্যবাদ এনএনজি!

{*/x#2}'&|(8#2)\

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

ওকে powerঅপারেটর নেই, এ কারণেই আমার কোনও সহায়ক ফাংশন প্রয়োজন {*/x#2}(2 xবার অনুলিপি করুন এবং ফলাফলের তালিকাটিকে গুণনের মাধ্যমে হ্রাস করুন)


আপনি পারেন বর্জন{ x}
ngn

@ ধন্যবাদ! আমি এটি চেষ্টা করেছি এবং এটি কাজ করেছে, তবে আমি নিশ্চিত ছিলাম না এটি গ্রহণযোগ্য ble
গ্যালেন ইভানভ

4

অ্যালকেমিস্ট , 125 বাইট

_->In_x+128a+m
m+x+a->m+b
m+0x+a->n+a
m+0a->o+Out_b+Out_" "
n+b->n+x+c
n+0b+a->n+c
n+0a->p
o+b->o+c
o+0b->p
p+2c->p+a
p+0c->m

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

ব্যাখ্যা

_->In_x+128a+m           # Initialize universe with input, 128a (value to compare to) and m (state)
m+x+a->m+b               # If c has been halved, subtract min(a, x) from a and x and put its value into b
m+0x+a->n+a              # If x < a, continue to state n
m+0a->o+Out_b+Out_" "    # Else print and continue to state o
n+b->n+x+c               # Add min(a, x) (i.e. x) back to x, and add it to c (we're collecting a back into c)
n+0b+a->n+c              # Then, add the rest of a to c
n+0a->p                  # Then, go to state p
o+b->o+c                 # Add min(a, x) (i.e. a) to c - x _is_ greater than a and so contains it in its binary representation, so we're not adding back to x
o+0b->p                  # Then, go to state p
p+2c->p+a                # Halve c into a
p+0c->m                  # Then go to state m

4

পিএইচপি ,41 39 বাইট

for($c=256;$c>>=1;)echo$argv[1]&$c,' ';

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

বা 38 টি মজাদার >>=অপারেটর এবং পিএইচপি 5.6+ ছাড়াই:

for($x=8;$x--;)echo$argv[1]&2**$x,' ';

বা লিটল-এন্ডিয়ান ("0 2 4 0 16 0 64 0") আউটপুট সহ 36

while($x<8)echo$argv[1]&2**$x++,' ';

সত্যিই আমি কেবল >>=অপারেটরটি ব্যবহার করতে চেয়েছিলাম , তাই আমি 39 টি দিয়ে আঁকছি

পরীক্ষা:

$php pow2.php 86
0 64 0 16 0 4 2 0

$php pow2.php 240
128 64 32 16 0 0 0 0

$php pow2.php 1
0 0 0 0 0 0 0 1

$php pow2.php 64
0 64 0 0 0 0 0 0

$php pow2.php 65
0 64 0 0 0 0 0 1

4

টিএসকিউএল, 43 39 বাইট

একটি সংক্ষিপ্ত অভিনব সমাধান খুঁজে পাওয়া যায় না, সুতরাং এখানে একটি মান লুপ দেওয়া আছে। -4 বাইটগুলি মিকিটি এবং কিরিলএলকে ধন্যবাদ

DECLARE @y int=255

,@ int=128s:PRINT @y&@ SET @/=2IF @>0GOTO s

চেষ্টা কর


বিটওয়াস এবং (&) ব্যবহার করে আপনি নিম্নলিখিতগুলির সাহায্যে কয়েকটি সঞ্চয় করতে পারেন ,@ int=128s:print @y&@ set @/=2IF @>0GOTO s। এটি আরকি জবাবের জন্য @ কিরিলের দ্বারা ইঙ্গিত দেওয়া হয়েছে
মিকিটি

@ মিকিটি যা মন্ত্রকের মতো কাজ করেছে। অনেক অনেক ধন্যবাদ
t-clausen.dk

3

পাইথন 2 , 43 40 বাইট

f=lambda n,p=1:n/p*[1]and f(n,p*2)+[p&n]

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


1
@ জোনাথান অ্যালান এটি অবশ্যই সহায়তা করেছিল। আমাকে জানানোর জন্য ধন্যবাদ।
ovs

1
... এবং এই নিষেধাজ্ঞা প্রত্যাহার করা হয়েছে, সুতরাং -১ বাইট :)
জোনাথন অ্যালান

3

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক), 33 বাইট

n=>{for(;n>0;n&=n-1)Print(n&-n);}

@ আর্নল্ডের জাভাস্ক্রিপ্টের উত্তর (ES6) এর বন্দর, সুতরাং তাকে উর্ধ্বমুখী করা নিশ্চিত করুন!

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

ব্যাখ্যা:

n=>{            // Method with integer parameter and no return-type
  for(;n>0      //  Continue looping as long as `n` is larger than 0:
      ;         //    After every iteration:
       n&=n-1)  //     Bitwise-AND `n` by `n-1`
    Print(      //   Print with trailing newline:
      n&-n);}   //    `n` bitwise-AND `-n`
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.