ভাসমান জোড়


28

ভূমিকা

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

সমস্যা

আমাদের ডুমসডে দৃশ্যের বর্ণনা দেওয়া যেতে পারে 5 একক লাইনে পূর্ণসংখ্যা যা সহযোগী দ্বীপ সম্প্রদায়ের একটি সেট প্রতিনিধিত্ব করে। এগুলি পশ্চিম (বামতম পূর্ণসংখ্যার) থেকে পূর্ব (ডানদিকের পূর্ণসংখ্যার) অর্ডার করা হয়।

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

বিশ্বের শেষের অপারেশন ম্যানেজারের একটি প্রোগ্রাম দরকার যা প্রতিটি গ্রামের চূড়ান্ত জনসংখ্যার আউটপুট দিতে পারে।

উদাহরণ ইনপুট

3 8 6 0 2

উদাহরণ আউটপুট

8 1 0 1 0

অনুমিতি

  • স্ট্যান্ডিনের মাধ্যমে ইনপুট সরবরাহ করা যেতে পারে, নির্বিচারে নামকরণ করা ফাইল থেকে পড়া বা আর্গুমেন্ট হিসাবে স্বীকৃত
  • প্রতিটি দ্বীপের জন্য, 0 <= জনসংখ্যা <= 1024
  • জনসংখ্যা কখনও দ্বীপ এড়ায় না

সবচেয়ে কম উত্তর জয়!


আপনি যখন আর্গুমেন্ট বলছেন, আপনি কি কোনও ফাংশনের আর্গুমেন্ট হিসাবে বা প্রোগ্রামটির জন্য একটি কমান্ড-লাইন আর্গুমেন্ট হিসাবে বোঝাচ্ছেন?
আলেক্সি তোড়হামো

@ আলেকসী তোরহামো কমান্ড-লাইন আর্গুমেন্ট করুন, সুতরাং এটি আপনার মোট হিসাবে গণনা করা হবে না।
রেনবোল্ট

29
আমি ভালবাসেন এই বহু-প্রশ্নোত্তর spanning শেষবিচারের গল্প।
মিখাইলকাজি

পুনরায়: "জনসংখ্যা কখনও কোনও দ্বীপ এড়ায় না" - আপনার উদাহরণটি দেখায় যে জনসংখ্যা একাধিক দ্বীপকে এক সারি সরিয়ে নিয়েছে। আমি মিস করছি এর আর কোন অর্থ আছে কি?
অ্যালেন গোল্ড

1
@ অ্যালেনগল্ড জনসংখ্যাটি একাধিক দ্বীপ পেরিয়ে গেছে তবে তারা কখনও এটিকে ছাড়েনি। যদি খুব ডান দ্বীপে 32 জন লোক থাকে তবে তারা 16, 8, 4 এর মতো মারা যাবে এবং শেষ পর্যন্ত 2 বাম দিকের দ্বীপে পৌঁছে যাবে।
রেইনবোল্ট

উত্তর:


26

এপিএল, 16 টি অক্ষর

{(1e9,4⍴2)⊤2⊥⍎⍵}

ইনপুটটি এই ব্লকের স্ট্রিং হিসাবে সরবরাহ করা হয়েছে:

{(1e9,4⍴2)⊤2⊥⍵} "3 8 6 0 2"
8 1 0 1 0

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

{(1e9,4⍴2)⊤2⊥⍵} 3 8 6 0 2
8 1 0 1 0

এটি এই মন্তব্যে ইলমারি করোনেনের ধারণার ভিত্তিতে তৈরি ।

  • 2⊥⍵ ইনপুটটির বেস 2 রূপান্তর করে।
  • (1e9,4⍴2)⊤এইভাবে এই সংখ্যাটিকে বেস 2 (চারটি শেষের অঙ্কের জন্য) এবং প্রথম 1e9 বেসে রূপান্তর করে, যা উপরে বর্ণিত ইনপুট ব্যাপ্তির জন্য যথেষ্ট। ( 1e9,4⍴2তালিকা তৈরি করে 1e9 2 2 2 2।)

নোট করুন যে পালানো পশ্চিম এই প্রক্রিয়া চলাকালীন বেস রূপান্তর দ্বারা স্বয়ংক্রিয়ভাবে সম্পন্ন হয়।


এটি প্রতিভা।
গ্যারেথ

7
APLঅবৈধ হওয়া উচিত ...
কিউই

1
@ কিউই আমি আপনার মন্তব্য বুঝতে পারি না। কেন এপিএলকে অবৈধ ঘোষণা করা হবে? আপনার এপিএল সমাধানটিও নির্দ্বিধায় জমা দিন।
হাওয়ার্ড

4
@ কিউই: এটি কেবল এপিএল ব্যবহারের চেয়ে বেশি নয় ... এটি সমাধানের ক্ষেত্রে খুব চালাক দৃষ্টিভঙ্গিও দেখা যায়, এটি একটি এপিএল প্রোগ্রামের সাথে খুব ঝরঝরে ফিট করে। গল্ফ এটাই কি!
ক্লাদিউ

13

গল্ফস্ক্রিপ্ট, 23 22 টি অক্ষর

~]{{.2/@+\2%}*]}4*' '*

একটি পুনরাবৃত্তি পদ্ধতির। অ্যারেটি বেশ কয়েকবার পুনরাবৃত্তি হয় এবং প্রতিবার ডান থেকে বামে সংখ্যক জোড়া স্থানান্তরিত হয়। উদাহরণটি অনলাইনে চেষ্টা করুন ।

কোডটির সংক্ষিপ্ত ব্যাখ্যা:

~]       # convert input to an integer
{        # loop 4 times (enough for a 5-elements input)
  {      # inject this block into the array
    .    # duplicate (l r r)
    2/   # determine surviving people (l r r%2)
    @+\  # add to the left (l+r/2 r)
    2%   # determine remaining people (l+r/2 r%2)
  }*
  ]      # make array again of the results
}4*
' '*     # format output

1
+1, এটি আমি খুঁজে পেতে পারে তার চেয়ে ছোট করা। এখন, যদি কেবল সেই ~]{2base}2*' '*
পেস্কিই

@ ইলমারিকারোনেন সঠিক ভাষা চয়ন করুন ( এপিএল সমাধান দেখুন ) এবং উদ্বেগজনক নিয়মটি ঠিক হয়ে যায়।
হাওয়ার্ড

8

গল্ফস্ক্রিপ্ট (25 টি অক্ষর)

~]-1%{\.1&\2/@+}*]-1%' '*

অনলাইন ডেমো

খুব সহজ সরল সমাধান: একটি আরও আকর্ষণীয় পদ্ধতির রয়েছে যা প্রতিটি দ্বীপের আউটপুট মানকে ইনপুট মানগুলির ফাংশন হিসাবে সংজ্ঞায়িত করে, তবে আমি মনে করি না যে প্রশ্নটিতে বর্ণিত পুনরায় বিতরণ অ্যালগরিদম অনুসরণ করার পরে এটি প্রায় গল্ফ করা যেতে পারে।


7

জাভাস্ক্রিপ্ট / ইএস 6 (69)

বিটওয়াইজ অপারেটরদের সাথে বাজানো:

  • x&=1 সর্বনিম্ন বিট রাখে (1 টি বিজোড় হলে, 0 এমনকি হলেও)
  • x>>1 পূর্ণসংখ্যার জন্য 2 দ্বারা ভাগ করা হয়
f=a=>{a=a.split(' ');for(i=5;--i;a[i]&=1)a[i-1]-=-(a[i]>>1);return a}

ES6 ছাড়াই সংস্করণ:

function f(a){a=a.split(' ');for(i=5;--i;a[i]&=1)a[i-1]-=-(a[i]>>1);return a}

উদাহরণ:
f("3 8 6 0 2")আয় [8, 1, 0, 1, 0]
f("0 997 998 999 1000")আয়[935, 0, 1, 1, 0]


1
পাইথনের উত্তরের একটিতে রশারের মন্তব্য দেখুন; ইনপুটটি কোনও স্ট্রিং হওয়া উচিত উদাহরণ হিসাবে দেওয়া বিন্যাসের পরে, কোনও তালিকা নয়।
আলেক্সি তোড়হামো

@ আলেক্সি তোরহামো ঠিক আছে। কমা দ্বারা বিচ্ছিন্ন তালিকার অনুমতি দেওয়া আপনার উদাহরণগুলিতে প্রদত্ত ফর্ম্যাটটিকে যারা অনুসরণ করেছেন তাদের থেকে আলাদা আলাদা সুবিধা পাবেন। ভবিষ্যতে, আমি পরিষ্কার উদাহরণস্বরূপ দেওয়া ফরম্যাট হতে চেষ্টা করব বিন্যাস। এর জন্যে দুঃখিত.
রেনবোল্ট

ঠিক আছে, সম্পাদিত আউটপুটটিও যোগ দেওয়া উচিত বা অ্যারে ফর্ম্যাটটি ঠিক আছে?
মাইকেল এম।

আমি কম-বেশি একই সাথে উপস্থিত হয়েছি: f=a=>{a=a.split(' ');for(x=5;--x;a[x]&=1)a[x-1]-=-a[x]/2|0;return a}যা 68 টি অক্ষর।
এমটি0

6

পাইথন - 96 টি অক্ষর

প্রথমবার গল্ফিং! স্টিডিন থেকে ইনপুট।

n=map(int,raw_input().split())
x=4
while x:n[x-1]+=n[x]/2;n[x]%=2;x-=1
print' '.join(map(str,n))

1
আপনি নিউলাইন এবং ইনডেন্টেশনের পরিবর্তে সেমিকোলন ব্যবহার করে কিছুক্ষণ এক লাইনে সংকোচিত হয়ে সরাসরি স্থানটি মুদ্রণের পরে সরিয়ে
ফেললে

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

1
আহ, সত্য! আমি আরও বুঝতে পেরেছি যে আপনি ' 'বিভাজনটি বাদ দিতে পারেন , এটিকে 96 এ নামিয়ে আনতে এবং অন্যান্য অজগর 2 সমাধানগুলিকে মারতে পারেন।
আলেকসি তোড়হমো

5

জে (২ characters টি অক্ষর)

জে আমার সমাধান এখানে: ((<.@-:@}.,0:)+{.,2|}.)^:_

   islands1 =: 3 8 6 0 2
   islands2 =: 3 8 6 3 2
   ((<.@-:@}.,0:)+{.,2|}.)^:_ islands1
8 1 0 1 0
   ((<.@-:@}.,0:)+{.,2|}.)^:_ islands2
9 0 0 0 0

এই সাধারণ সমাধানটি যে কোনও সংখ্যক দ্বীপ নিয়ে কাজ করবে।


5

রুবি, 97 90 74 72

অনলাইন সংস্করণ

এটিকে আরও গল্ফ করে, অ্যারেটিকে আর উল্টো করে না ...

f=->i{i=i.split.map(&:to_i);(1..4).each{|n|i[-n-1]+=i[-n]/2;i[-n]%=2};i}

বিভক্ত হওয়ার আগে অবশ্যই স্ট্রিংটি বিপরীত করা উচিত নয় after অন্যথায় আপনার সমাধান ইনপুটটিতে বহু-অঙ্কের সংখ্যার জন্য ভুল ফলাফল পেতে পারে।
হাওয়ার্ড

এমনকি আমি উভয় "সম্ভাবনা" বিবেচনা করেছি - একাধিক সংখ্যার সাথে সংখ্যা সম্পর্কে সচেতন না হওয়া সত্ত্বেও ...: ডি ধন্যবাদ!
ডেভিড হার্মান

4

সি - 121 টি অক্ষর

স্ট্যান্ডিন থেকে ইনপুট নেওয়া হয়।

a[5];main(i){b(i=0,0);while(i++<5)printf("%i ",a[i-1]);}b(i,j){scanf("%i",&i);return j<5?i+=
b(i,j+1)/2,a[j]=j?i&1:i,i:0;}

এটি কি কেবল 5 টি দ্বীপের জন্য হার্ড-কোডড?
জিওবিটস

4

পাইথন 2 - 98 টি অক্ষর

স্টিডিন থেকে ইনপুট।

s=[0]
for v in raw_input().split()[::-1]:s=[int(v)+s[0]/2,s[0]%2]+s[1:4]
print' '.join(map(str,s))

পাইথন 3 - 79 টি অক্ষর

স্টিডিন থেকে ইনপুট।

s=[0]
for v in input().split()[::-1]:s=[int(v)+s[0]//2,s[0]%2]+s[1:4]
print(*s)

4

পাইথন 2, 85 80 বাইট

b=1
for x in raw_input().split():b=2*b+int(x)
print b/16-2,' '.join(bin(b)[-4:])

যে কোনও দ্বীপে শুরু হওয়া এক্স লোকগুলি ডানদিকে একটি দ্বীপ শুরু করা এক্স * 2 জনের সমতুল্য। এই কোডটি প্রারম্ভিক কনফিগারেশনের প্রত্যেককে দূর-ডান-দ্বীপপুঞ্জের তাদের সমতুল্য রূপান্তরিত করে, তারপরে প্রতিটি দ্বীপে কত লোক শেষ হয় তা নির্ধারণের জন্য ফলাফলের বাইনারি উপস্থাপনা ব্যবহার করে।

সম্পাদনা: b0 এর পরিবর্তে 1 দিয়ে আরম্ভ করে কোডটি সংক্ষিপ্ত করে binবিন্যাসের স্ট্রিংয়ের পরিবর্তে ব্যবহার করতে দেওয়া ।


বাইনারি উপস্থাপনা ব্যবহার ইনজিনিয়াস! লেটারকাউন্ট ডট কম আপনাকে একটি 85 দিয়েছে you আপনি কী অতিরিক্ত পরিমাণে হিসাব করেছেন, বা লেটারকাউন্টটি কোনও খারাপ সরঞ্জাম?
রেইনবোল্ট

@ রুশার: আমার সরঞ্জামটি সিআরএলএফ লাইন শেষ ব্যবহার করছিল। ইউনিক্স লাইনের শেষের সাথে এটি গণনা করা, এটি 85
ব্যবহারকারী 2357112

3

পাইথন (101)

l=map(int,raw_input().split())
for i in range(4):l[3-i]+=l[4-i]/2;l[4-i]%=2
print' '.join(map(str,l))

আমরা তালিকাটি পিছন থেকে সামনের দিকে লুপ করি এবং স্পেসিফিকেশন অনুসারে জনসংখ্যাকে আশেপাশে নিয়ে যাই, তারপরে তালিকাটি মুদ্রণ করি। এখানে একটি দ্রুত পরীক্ষা:

>>> l=map(int,raw_input().split())
3 8 6 0 2
>>> for i in range(4):l[3-i]+=l[4-i]/2;l[4-i]%=2
... 
>>> print' '.join(map(str,l))
8 1 0 1 0

উদাহরণে প্রদত্ত ফর্ম্যাটটি অনুসরণ করে এমন ইনপুট সরবরাহ করা হলে ক্রাশ হয়েছে।
রেইনবোল্ট

@ রুশার আমি প্রশ্নের সঠিকভাবে ব্যবহৃত ফর্ম্যাটটি নিয়ে কাজ করার উত্তর আপডেট করেছি।
আরশাজী

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

2

গণিত 105

এটি যে কোনও সংখ্যক দ্বীপের সাথে কাজ করা উচিত।

f[w_,n_:1]:=
If[n==Length@w,w,
f[w~ReplacePart~{-n-> Mod[z=w[[-n]],2],-(n+1)->(w[[-(n+1)]]+ z~Quotient~2)},n+1]]

উদাহরণ

5 দ্বীপ

f[{3, 8, 6, 0, 2}]

{8, 1, 0, 1, 0}


25 দ্বীপ

f[{145, 144, 144, 59, 35, 129, 109, 99, 200, 24, 219, 96, 12, 121, 75,20, 153, 124, 131, 178, 228, 120, 63, 207, 228}]

{270, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0 }


আমার সমাধানটি 270, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0আপনার দীর্ঘ পরীক্ষার ডেটার জন্য উত্পন্ন করে। আমি মনে করি আমি নিশ্চিত হয়েছি যে আমি সঠিক।
ल्डকুরিমডজিয়ন

আজব, এটি কীভাবে কাজ করে তা দেওয়া হচ্ছে। আগামীকাল কেসটি দেখে নেব।
ডেভিডসি

2

জাভা - 647 533 তবে জাভা 8 স্ট্রিমের জন্য কিছু ব্রাউন পয়েন্টের প্রত্যাশায়।

class I{int p;I e;I(int p,I e){this.p=p;this.e=e;}void x(){if(e!=null){int r=p&1;e.p+=(p-r)/2;p=r;}}public String toString(){return ""+p;}}Deque<I>B(String d){H<I>e=new H<>();return Arrays.stream(d.split(" ")).map(s->Integer.valueOf(s)).map(p->e.hold(new I(p,e.held()))).collect(Collectors.toCollection(LinkedList::new));}void x(Deque<I>is){is.descendingIterator().forEachRemaining((I i)->{i.x();});}void t(String s){Deque<I> a=B(s);x(a);System.out.println(a);}class H<T>{T h=null;H(){}T hold(T t){return (h=t);}T held(){return h;}}

সঙ্কুচিত ফর্ম:

private static class Island {
  int population;
  final Island eastwardIsland;

  Island(int population, Island eastwardIsland) {
    this.population = population;
    this.eastwardIsland = eastwardIsland;
  }

  private void exodus() {
    if (eastwardIsland != null) {
      // How many remain.
      int remain = population & 1;
      // How many leave.
      int leave = population - remain;
      // Account for 50% death rate.
      int arrive = leave / 2;
      // Modify the eastward island population.
      eastwardIsland.population += arrive;
      // Change my population.
      population = remain;
    }
  }

  @Override
  public String toString() {
    return String.valueOf(population);
  }

}

private Deque<Island> buildIslands(String data) {
  // Holds the island to the east as we traverse.
  final Holder<Island> eastward = new Holder<>();
  // Build my list of islands - assumes order is retained.
  return Arrays.stream(data.split(" "))
          // Convert to int.
          .map(s -> Integer.valueOf(s))
          // Build the island in a chain.
          .map(p -> eastward.hold(new Island(p, eastward.held())))
          // Roll them into a linked list.
          .collect(Collectors.toCollection(LinkedList::new));
}

private void exodus(Deque<Island> islands) {
  // Walk backwards.
  islands.descendingIterator()
          // Perform all exodus.
          .forEachRemaining((Island i) -> {
            i.exodus();
          });
}

private void test(String data) {
  Deque<Island> archipelago = buildIslands(data);
  // Initiate the exodus.
  exodus(archipelago);
  // Print them.
  System.out.println(archipelago);
}

এর সহায়তায়:

// Mutable final.
private static class Holder<T> {
  private T held = null;

  public Holder() {
  }

  public Holder(T it) {
    held = it;
  }

  public T hold(T it) {
    return (held = it);
  }

  public T held() {
    return held;
  }

  @Override
  public String toString() {
    return held == null ? "null" : held.toString();
  }

}

কিছুটা উদ্বিগ্ন যে @ ডেভিডকারেরার পরীক্ষা:

145 144 144 59 35 129 109 99 200 24 219 96 12 121 7520 153 124 131 178 228 120 63 207 228

উত্পন্ন

270, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0

2

জাভা - 196 195

আমি নিজেকে বলেছিলাম যে 200 এর নিচে না পেলে আমি এটি পোস্ট করব না ... আমি সত্যই বলে মনে করি না যে আমি অন্য কোনও কিছু থেকে মুক্তি পেতে পারি, এটি জাভার জন্য বেশ পাতলা।

class H{public static void main(String[]a){int l=a.length,p[]=new int[l],i=l;for(;i-->0;){p[i]=Integer.valueOf(a[i]);if(l-i>1){p[i]+=p[i+1]/2;p[i+1]%=2;}}for(;++i<l;System.out.print(p[i]+" "));}}

লাইন ব্রেক:

class H{
    public static void main(String[]a){
        int l=a.length,p[]=new int[l],i=l;
        for(;i-->0;){
            p[i]=Integer.valueOf(a[i]);
            if(l-i>1){
                p[i]+=p[i+1]/2;
                p[i+1]%=2;
            }
        }
        for(;++i<l;System.out.print(p[i]+" "));
    }
}

নমুনা ইনপুট আউটপুট:

$ java H 3 8 6 0 2
8 1 0 1 0

$ java H 0 1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 0 1 0 0

$java H 235 897 158 693
809 1 0 1

2

জাভা - 179 টি অক্ষর

সঙ্কুচিত:

class F{public static void main(String[] a){int l=0,x,s,i=a.length-1;String z="";for(;0<=i;i--){x=Integer.valueOf(a[i])+l;s=i>0?x%2:x;l=(x-x%2)/2;z=s+" "+z;}System.out.print(z);}}

সাধারন:

public class FloatingHorde {

    public static void main(String[] a) {
        int leave = 0;
        String outputStr = "";
        for (int i = a.length - 1; 0 <= i ; i--) {
            int x = Integer.valueOf(a[i]) + leave;
            int stays = i > 0 ? x % 2 : x;
            leave = (x - x % 2) / 2;
            outputStr = stays + " " + outputStr;
        }
        System.out.print(outputStr);
    }
}

নমুনা আউটপুট:

$ java F 3 8 6 0 2
8 1 0 1 0

$ java F 7 6 5 4 3
11 1 1 1 1

0

ইমাস লিস্প ১৪৪ টি চর

ছোট নয়, তবে এটি কাজ করে

(lambda (d)
   (setq x d)(while(cdr x)
           (setcar(cdr x)(+(/(-(car x)(%(car x)2))2)(cadr x)))
           (setcar x (-(car x)(*(/(car x)2)2)))
       (pop x))
   (reverse d))

আপনি # জাভা - 123 অক্ষর
রেইনবোল্ট


-2

জাভা - 116 অক্ষর

উদাহরণস্বরূপ int[] i = {2, 33, 16, 5};(আমি মনে করি এগুলি গণনাতে যুক্ত হয় না, যেহেতু প্রতিটি সংখ্যা পৃথক হতে পারে) আউটপুট হবে would23 0 0 1

for(int j = i.length-1; j > 0; j--) {       
    while(i[j] > 1) {
        i[j] -= 2;
        i[j-1]++;
    }       
}
for(int j = 0; j < i.length; j++) {     
    System.out.print(i[j] + " ");
}

4
আপনি কি একটি সংকলক সরবরাহ করতে পারেন যা এই কোডটি চালাবে? এছাড়াও, ইনপুটটির জন্য ফর্ম্যাট এবং সম্ভাব্য উত্স প্রশ্নটিতে সরবরাহ করা হয়েছিল। জাভা অ্যারেতে ইনপুটটি ছড়িয়ে দেওয়া আপনাকে অন্যের তুলনায় অন্যায় সুবিধা দেয়।
রেইনবোল্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.