শূন্য স্থায়ী থাকার নিকটবর্তী এন নম্বরগুলি


10

উদ্দেশ্য : একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া n:

  • যদি nবিজোড় হয় তবে ক্রমবর্ধমান ক্রমের nনিকটে সংখ্যাগুলির তালিকা আউটপুট করুন0
  • যদি nএমনকি, একটি Falsey মান আউটপুট।

পরীক্ষার কেস :

5 -> [-2,-1,0,1,2]
4 -> false (or any Falsey value)
1 -> [0]

রেফারেন্স বাস্তবায়ন

function update(){
  var num = +document.getElementById("yield").value;
  if(num){
    var out = document.getElementById("output");
    if(num % 2 == 1){
      // base is balanced
      var baseArr = [];
      for(var i=0;i<num;i++){
        baseArr.push(i-Math.floor(num/2));
      }
      out.innerHTML = baseArr.join(" ");
    } else {
      out.innerHTML = "false";
    }
  } else {
    out.innerHTML = "<i>enter input</i>";
  }
}

setInterval(update,1);
* {
  font-family: "Constantia", "Consolas", monospace;
}

[type="number"] {
  width: 10px;
  width: 2em;
}

#output {
  font-family: "Consolas", monospace;
}
Input: <input type="number" id="yield" value="3"> is <span id="output"><i>enter input</i></span>


আউটপুট কি তালিকার চেয়ে একটি পরিসীমা অবজেক্ট হতে পারে?
ব্র্যাড গিলবার্ট বিবিগিল

@ ব্র্যাডগিলবার্টব ২ গিলস দুঃখিত, একটি পরিসীমা অবজেক্ট একটি অবৈধ আউটপুট।
কনর ও'ব্রায়েন

খালি তালিকা সর্বদা মিথ্যা হয় না।
সুপারজেডি ২৪

@ সুপারজেডি ২২৪ কোন প্রসঙ্গে?
কনর ও'ব্রায়েন

এমন কিছু ভাষা রয়েছে (IE জাভাস্ক্রিপ্ট) যেখানে খালি তালিকাটিকে সত্যবাদী মান হিসাবে বিবেচনা করা হয়।
সুপারজেডি ২৪

উত্তর:



5

এপিএল, 16 15 13 বাইট

-2 বাইটের জন্য @ ডেনিসকে ধন্যবাদ!

⌊(⍳⊢×2|⊢)-÷∘2

এটি একটি মোনাডিক ট্রেন যা এমনকি ইনপুটটির জন্য একটি খালি অ্যারে দেয়। নীচে চিত্রটি রয়েছে:

┌────┴─────┐   
⌊ ┌────────┼─┐ 
┌─┴─┐      - ∘ 
⍳ ┌─┼───┐   ┌┴┐
  ⊢ × ┌─┼─┐ ÷ 2
      2 | ⊢    

প্রথমত, ⊢×2|⊢ ইনপুটটিকে তার মোড 2 দেয়; যে মতভেদ নিজেদের দেব, এবং evens 0. দিতে আমরা ব্যবহার করে 1 থেকে সংখ্যার একটি তালিকা তৈরি করতে (⍳0 খালি অ্যারে দেয়), এবং তারপর আমরা অর্ধেক ইনপুট এবং মেঝে বিয়োগ।


5

গণিত, 32 30 24 বাইট

OddQ@#&&Range@#-(#+1)/2&

কোড-গল্ফিং ট্রিক: সর্বশেষ যুক্তিটি Andবুলিয়ান হতে হবে না।


আপনি ইউনিকোড বন্ধনী ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন Floor
মার্টিন এন্ডার

এছাড়াও, Range[-a,a=...]কাজ করছে বলে মনে হচ্ছে, অন্য একটি বাইট সংরক্ষণ করছে।
মার্টিন এন্ডার

OddQ@#&&Range@#-(#+1)/2&
ngenisis

4

পাওয়ারশেল, 50 52 বাইট

param($a)$b=$a/2-.5;(0,((0-$b)..$b-join' '))[($a%2)]

নগদ টাকা। সুন্দর ভার্বোজের উত্তর। ইনপুট নেয় $a, তারপরে $b"তল" হিসাবে একটি নতুন ভেরিয়েবল সেট করে $a/2। একটি নতুন নম্বর পরিসীমা থেকে উত্পন্ন (0-$b)করতে $b, তারপর joinস্পেস দিয়ে পরিসর s, এবং (প্রথম উপাদান যে দুই-উপাদানের বিন্যাস দ্বিতীয় উপাদান হিসেবে রয়েছে0 )। তারপরে $a%2আউটপুটটির জন্য সেই অ্যারেতে সূচক ব্যবহার করে।

54 বাইটে / অন্য প্রবাহিত হলে আরও "traditionalতিহ্যবাহী" ব্যবহার করে বিকল্প সংস্করণ:

param($a)$b=$a/2-.5;if($a%2){(0-$b)..$b-join' ';exit}0

সম্পাদনা - ইনপুট সমান হলে মিথ্যা মান আউটপুট দেওয়ার জন্য কিছু যুক্তি যুক্ত করতে হবে


পরিবর্তন করে 3 বাইট সংরক্ষণ (0-$b)শুধু -$b। এছাড়াও, কেবলমাত্র দ্বারা গুণ *0করলে নাল স্ট্রিং আউটপুট হবে (পাওয়ারশেলের মিথ্যাতে মূল্যায়ন হবে)। (দেখুন: কোডগল্ফ.স্ট্যাকেক্সেঞ্জিং.com / a / 63005 / 45925 )
জোনাথন লিচ-পেপিন

4

হাস্কেল, 37 36 31 বাইট

g n=take(n*mod n 2)[-div n 2..]

ভারসাম্যহীন খালি তালিকা দ্বারা নির্দেশিত। ব্যবহারের উদাহরণ: g 7-> [-3,-2,-1,0,1,2,3]

@ xnor পাওয়া গেছে 5 বাইট। ধন্যবাদ!


খালি তালিকার কেসটিকে শর্তযুক্ত করার কোনও উপায় নেই? করছেন g n=[x|x<-[-div n 2..(n+1)/2],odd n]সমানভাবে দীর্ঘ।
xnor

34:g n=[1|odd n]>>[-div n 2..div n 2]
xnor

আপনার এটি সম্পাদনা করা উচিত, এটি একটি সামান্য পরিবর্তন।
xnor

g n=[1|odd n]>>take n[-div n 2..]এছাড়াও একটি চর সংরক্ষণ করে।
xnor

1
@ এক্সনর: আপনি আমার পোস্টগুলি সম্পাদনা করতে পারার চেয়ে আপনি এটি দ্রুত গলফ করছেন।
নিমি

4

জাভাস্ক্রিপ্ট (ES6), 44 43 42 41 বাইট

অতিক্রম করা 44 এখনও নিয়মিত 44; (

n=>[...Array(n&1&&n--)].map((x,i)=>i-n/2)

বিজোড় ইনপুটগুলির জন্য, দৈর্ঘ্যের একটি পূর্ণসংখ্য অ্যারে প্রদান করে xat0 ; এমনকি এর জন্য, 0 প্রদান করে I (@ Edc65 এবং @ ן nɟuɐɯɹɐ ן oɯ! - এর জন্য কয়েক দফা বাইট সংরক্ষণ করা হয়েছে)

ES6 বিকল্প: (42 বাইট, @intrepidcoder ধন্যবাদ)

x=>x%2&&[for(y of Array(x--).keys())y-x/2]

পরামর্শ স্বাগত!


ব্যবহার x%2&&[for(y of...]একটি বাইট সংরক্ষণ করে ।
ইন্ট্রিপিডকোডার

ES6, 43, n=>Array(n&1&&n--).fill().map((x,i)=>i-n/2)যদি খালি অ্যারে ফিরতে অনুমতি দেওয়া হয়
edc65

@ সিন্ট্রিপিডকোডার ধন্যবাদ! আমি এই পরিবর্তন করেছি।
ETH প্রোডাকশনগুলি

@ edc65 পাশাপাশি ধন্যবাদ! আমি এটি উত্তরে যুক্ত করেছি।
ETH প্রোডাকশনগুলি

x=>x%2&&[for(y of Array(x--).keys())y-x/2]42.
ইন্ট্রিপিডকোডার


3

জে, 12 বাইট

i:@%~2&!*2&|

এটি একটি 0মোনাডিক ক্রিয়া যা সংখ্যার জন্য ফিরে আসে (মিথ্যা)। এটি J.js এর সাথে অনলাইনে ব্যবহার করে দেখুন

টেস্ট রান

   (i:@%~2&!*2&|) 3
_1 0 1
   (i:@%~2&!*2&|) 2
0

কিভাবে এটা কাজ করে

              Right argument: y
         2&|  Take y modulo 2.
     2&!      Calculate y C 2 = y(y-1)/2.
        *     Multiply the results.
   %~         Divide the product by y.
              This yields (y-1)*(y%2)/2 = (y-1)/2 (y even) | 0 (y odd).
  @           Take the result and...
i:              apply the bilateral index generator z -> (-z ... z).

3

DUP , 31 বাইট

[a:a;2/b:[b;_[$b;<][$1+]#][0]?]

Try it here.

নামবিহীন ল্যাম্বদা। ব্যবহার:

5[a:a;2/b:[b;_[$b;<][$1+]#][0]?]!

ব্যাখ্যা

[                             ] {lambda}
 a:                             {store input to a}
   a;2/                         {divmod a by 2}
       b:                       {store quotient to b, top of stack is now remainder}
         [               ][ ]?  {conditional}
          b;_                   {if remainder is 1, get b and negate it}
             [    ][   ]#         {while loop}
              $b;<                {while top of stack is less than b}
                    $1+           {duplicate and increment}
                           0    {otherwise, leave falsy value}

2

পাইথন 2, 34 32 বাইট

এই মুহুর্তে আমি নিশ্চিত নই যে আমি যা চাই তা আউটপুট করতে পারি যদি এটি ভারসাম্য না হয়, সুতরাং বর্তমানে এটি কেবল ভারসাম্যহীন-বেসের ক্ষেত্রে একটি খালি তালিকা দেয়। এটি একটি বেনামে ল্যাম্বদা ফাংশন, সুতরাং এটি ব্যবহারের জন্য এটির একটি নাম দিন।

lambda k:k%2*range(-k/2+1,-~k/2)

আপনি যদি করেন তবে আপনি k%2*প্যারেন্সগুলি এড়াতে পারবেন।
xnor

2

সিজেম, 13 12 বাইট

{_2md@,@f-*}

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

কিভাবে এটা কাজ করে

_          e# Copy the input (N).
 2md       e# Push N/2 and N%2.
    @      e# Rotate N on top of the stack.
     ,     e# Push [0 ... N-1].
      @    e# Rotate N/2 on top of the stack.
       f-  e# Subtract N/2 from each element of [0 ... N-1].
         * e# Repeat the resulting array N%2 times.

2

ও, 18

M(.e\2/.@{_}dmrr]p

সরাসরি নমুনা.


5
ইংরেজি বর্ণমালায় প্রতিটি মূল অক্ষরের জন্য কি ভাষা আছে ?!
কনর ও'ব্রায়েন

সেগুলি ক্রমবর্ধমান ক্রমে তালিকাবদ্ধ করা উচিত।
জিওবিটস

@ মিকিটি ফিক্সড যে 5 বাইটের দামে।
kirbyfan64sos

@ জিওবিটস এটিও ঠিক করেছেন।
kirbyfan64sos


2

ভিটসি, 27 25 বাইট

আমি আগামীকাল এটিকে গল্ফ করে দেব, তবে আমার এখন বিছানায় শুয়ে যাওয়া উচিত।

D2M) [& 1] D1-ই *} \ [D2 গ্রাহকের / NaO2 + +]
ডি ইনপুট সদৃশ।
 2 এম) [& 1] ইনপুটটি সমান হলে (ইনপুট% 2 = 0) একটি নতুন স্ট্যাক উত্পন্ন করে
                              এবং এটিতে 1 টিপুন।
        ডি শীর্ষ মানটি সদৃশ করুন - এটি এমনকি না থাকলে এটিই ইনপুট হবে। অন্যথায়, এটি এক।
         1- একটিকে বিয়োগ করুন (শূন্যের চারপাশে ভারসাম্য বজায় রাখতে)
           আমি * যোগ করুন বিপরীত
             The স্ট্যাকের কোনও আইটেমের উপরে স্থানান্তর - এটি নিশ্চিত করে
                              আমাদের কাছে হয় ইনপুট বা উপরে রয়েছে।
              \ [] ইনপুট বার পুনরাবৃত্তি করুন।
                ডি 2 / এন শীর্ষ আইটেমটিকে নকল করুন এবং এটি মুদ্রণ করুন।
                    এও নিউলাইন (আমি নিশ্চিত যে এটি বৈধ পৃথকীকরণ)
                      2+ স্ট্যাকের শীর্ষ আইটেমটিতে একটি যুক্ত করুন।

"চূড়ান্ত গ্লোবাল ভার" তীব্র শোনায়
কনর ও'ব্রায়ান

3
এটা তোলে হয় তীব্র।
অ্যাডিসন ক্রম্প

@ সিও'বা'র তীব্রতা তীব্র হয়
অ্যাডিসন

2

টিস্ক্রিপ্ট , 16 বাইট 18

x%2Þr(xØ)ßl-x/2)

বেশ সহজ. বিশেষ অক্ষরগুলি দীর্ঘতর কোড সিকোয়েন্সগুলির জন্য আসলে "সংক্ষেপণ" are

আমি এখনও পার্মালিনক্স করেননি যাতে আপনি পেস্ট কপি করতে হবে অনুবাদক

ব্যাখ্যা

x%2 &&    // If x is NOT even return falsy, else...
r(x--)    // Range 0-input. Subtracts one from input
m(#       // Loop through range
  l-      // Current item in loop, minus...
    x/2   // input - 1, divided by two
)

এই উত্তরটি প্রতিযোগিতামূলক


আমার এই বিশেষ-সংক্ষিপ্ত সংক্ষেপগুলি জাপটে প্রয়োগ করা উচিত। :) বিটিডাব্লু, আপনি কি নিশ্চিত 1 1 বাইট?
ETH প্রোডাকশনস

@ ইথ প্রডাকশনস ওউ :( আমি এটি প্রয়োগের আগে এটি পরীক্ষা করতে ভুলে গেছি I'll আমি এটি পরবর্তী প্রতিশ্রুতিতে ঠিক করব
ডাউনওয়েট

1
@ ভ্যা নাহ, এটি একটি দুর্দান্ত চ্যালেঞ্জ / গৌরব যা বিষয়টিকে আকর্ষণীয় করে তোলে। তাত্পর্যহীন অক্ষরযুক্ত অক্ষরগুলি দুর্দান্ত দেখায়।
মামা ফান রোল

4
@। Nɟuɐɯɹɐ ן oɯ যতক্ষণ আপনি এগুলি দেখতে পাচ্ছেন ততক্ষণ। আমার ফোনে, এমনকি আপনার ভাষাও নয় নামটিও দৃশ্যমান নয়। : পি
ডেনিস

2
@ ডেনিস এটি ভাষার রহস্যজনক আভাকে যুক্ত করে ...
মামা ফান রোল


2

21, 21 অক্ষর / 37 বাইট

ô[…Ѧ(ï&1⅋ï‡)]ć⇀_-ï/2⸩

Try it here (Firefox only).

এখানে একটি 20-চর / 35-বাইট উত্তর (প্রতিযোগিতামূলক নয়, যেহেতু উত্তরটি জিজ্ঞাসা করার পরে প্রয়োগ করা পরিবর্তনগুলি ব্যবহার করে):

ô(ï%2⅋ѨĶ(ï‡)ć⇀$-ï/2⸩

Try it here (Firefox only).


2

জাপট, 21 19 বাইট

Japt একটি সংক্ষিপ্ত সংস্করণ জা vaScri পর্তুগীজ ভাষায়

U%2&&(X=-U/2+K o1-X

বিজোড় ইনপুটগুলির জন্য x, কেন্দ্রে কেন্দ্র করে দৈর্ঘ্যের একটি পূর্ণসংখ্য অ্যারে প্রদান করে 0; এমনকি এর জন্য, 0 প্রদান করে R

output(U%2&&(X=-U/2+.5).range(1-X));

যেখানে x.range(y)থেকে পূর্ণসংখ্যার একটি তালিকা তৈরি xকরে yএটি অনলাইন পরীক্ষা!


আধুনিক জাপটে এটি কেবল 11 বাইট:

u ©Uo-U/2-½

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


5
যে কেউ এই উত্তরটিকে অগ্রাহ্য করেছে, আপনি দয়া করে কেন তা ব্যাখ্যা করতে পারেন? আমি কোথায় ভুল করেছি তা জানতে চাই যাতে আমি এটি সংশোধন করতে পারি। ধন্যবাদ। :-)
ETH প্রোডাকশনগুলি

3
তারা কি ভাষা পছন্দ করে না? (আমি ভাষাটি ভালবাসি, যদিও আমি দেখতে পাচ্ছি অন্যেরা কীভাবে না পারে))
কনর ও'ব্রায়ান

1

আর, 30 বাইট

function(n)(x=(1-n)/2*n%%2):-x

মোটামুটিভাবে, x:-xথেকে পূর্ণসংখ্যার ফেরৎ xকরতে -xযেখানে আমি সেট করতে চান, xকরতে (1-n)/2। আমি শূন্যে জোর করার n%%2সংজ্ঞাতে মডুলো -২ ফ্যাক্টরটি ব্যবহার করি যখন সমান হয় , যার ক্ষেত্রে ফিরে আসে (মিথ্যা)।xxn0:00


1

পার্ল, 36 বাইট

আমার মনে হচ্ছে এটি সংক্ষিপ্ত করা যেতে পারে:

$,=$";$n=<>;print$n%2?-$n/2..$n/2:0;

পরিসীমাটি পূর্ণসংখ্যা হিসাবে ভাসমান আচরণ করে, যেমন, 5/2 = 2.5 নীরবে 2 এ রূপান্তরিত হয়।

(যদি ফর্ম্যাটিংটি কোনও ব্যাপার না, তবে $,=$";মোট 30 বাইটের জন্য অপসারণ করুন )।


1

পাওয়ারশেল, 49 বাইট

param($a)$b=$a/2-.5;"[$(-$b..$b-join",")]"*($a%2)

এমনকি সংখ্যাগুলি মূল্যায়ন করা হয় $falseযেহেতু তারা একটি খালি লাইন আউটপুট সরবরাহ করে।

("[$(-$b..$b-join",")]"*($a%2))-eq $True ===> False

বিজোড় সংখ্যাগুলি সঠিক রেফারেন্স স্ট্রিংকে আউটপুট দেয়। আপনি আউটপুট স্ট্রিং থেকে 45অপসারণ করে আরও 4 বাইট (এখন ) সঞ্চয় করতে পারবেন []

PS> .\balanced.ps1 4


PS> .\balanced.ps1 5
[-2,-1,0,1,2]

PS> .\balanced.ps1 0


PS> .\balanced.ps1 1
[0]

PS> 

পাওয়ারশেল, 36 বাইট

param($a)$b=$a/2-.5;(-$b..$b)*($a%2)

এটির একই মিথ্যা ফলাফল রয়েছে তবে নতুন লাইনের দ্বারা পৃথক হওয়া সংখ্যার তালিকার ফলস্বরূপ:

PS> .\balanced-newline.ps1 4

PS> .\balanced-newline.ps1 1
0

PS> .\balanced-newline.ps1 5
-2
-1
0
1
2

PS>

1

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

সংক্ষিপ্ততম ল্যাম্বডা এক্সপ্রেশনটি আমি এই সীমার পরিবর্তে তালিকার আউটপুট নিয়ে আসতে পারি:

{$_%2&&|((1-$_)/2..$_/2)} # 25

পরীক্ষামূলক:

for 0..10 -> $a {
  if {$_%2&&|((1-$_)/2..$_/2)}($a) -> $b {
    say "$a.fmt('%5s')  $b"
  } else {
    say "$a.fmt('%5s')  False"
  }
}
    0  False
    1  0
    2  False
    3  -1 0 1
    4  False
    5  -2 -1 0 1 2
    6  False
    7  -3 -2 -1 0 1 2 3
    8  False
    9  -4 -3 -2 -1 0 1 2 3 4
   10  False

এটি পার্ল 6 নম্বরটিকে 0একটি ভুয়া মান হিসাবে বিবেচনা করে এমনটি গ্রহণ করে । তাহলে আউটপুট হতে হয় ঠিক Falseআপনি প্রতিস্থাপন করতে পারে $_%2সঙ্গে $_!%%2


1

05 এ বি 1 ই , 8 বাইট (প্রতিযোগী নয়)

ভাষা চ্যালেঞ্জ পোস্ট করে এবং তাই প্রতিদ্বন্দ্বী non কোড:

È#¹;D(ŸR

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

ব্যাখ্যা:

È#        # If input % 2 == 0, end the program
  ¹       # Push the first input from the register
   ;      # Halve, push input / 2 rounded down
    D     # Duplicate top of the stack
     (    # Negate
      Ÿ   # Inclusive range, pushes [a .. b]
       R  # Reverse the array

ব্যবহার সিপি-1252 এনকোডিং।


0

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

<?=($n=$argv[1])&1?join(_,range(-$k=$n/2|0,$k)):0;

প্রোগ্রাম, এসটিডিআইএন থেকে ইনপুট নেয়, প্রিন্ট করে _ সীমানা তালিকা বা0

অথবা

function f($n){return$n&1?range(-$k=$n/2|0,$k):0;}

ফাংশন আর্গুমেন্ট লাগে, অ্যারে প্রদান করে বা 0


0

জাভা, 145 বাইট

public class c{static void c(int n){for(int i=n/2*-1;i<=n/2;i++){if(n%2==0){System.out.print("false");break;}System.out.print(i);}}}

ব্যাখ্যা: দুঃখিত, আমি জানি এটি সত্যিই দীর্ঘ। আমি জাভাটির জন্য কোনও উত্তর দেখতে পাইনি তাই আমি একটি স্থির করার সিদ্ধান্ত নিয়েছি the মূল ফাংশনটি লেখার দরকার আছে কিনা তা আমাকে জানান (নীতিমালার বিষয়টি নিশ্চিত কিনা তা আমি নিশ্চিত নই)। মূলত এটি সংখ্যাটি দুটি দ্বারা বিভক্ত করে এবং এটি নিম্ন-বাউন্ডের জন্য এবং -1 দ্বারা গুণ করে এবং উপরের সীমানার জন্য এটি কেবল দুটি দ্বারা বিভক্ত সংখ্যাটি ব্যবহার করে। আমি এই পৃষ্ঠায় একধরনের নতুন তাই আমি যদি এখনই কিছু ফর্ম্যাট না করি তবে আমাকে জানান। এছাড়াও, আমি জানি যে ল্যাম্বদা ফাংশনগুলির সাথে উত্তরগুলি সংক্ষিপ্ত করা যেতে পারে তবে আমি সেগুলি কীভাবে ব্যবহার করব তা আমি জানি না এবং জাভা তাদের সমর্থন করে কিনা তা আমি নিশ্চিত নই।

এখানে আরও পঠনযোগ্য সংস্করণ যা কম গল্ফযুক্ত:

public class StackOverflow {
static void c(int n){
    for (int i = n/2*-1; i<=n/2; i++){
        if(n%2==0){
            System.out.print("false");
            break;
        }
        System.out.print(" " + i);
    }
}
}

সাধারণ নিয়মটি হ'ল আপনাকে কোনও প্রোগ্রাম বা ফাংশন লিখতে হবে। জাভাতে, একটি ক্রিয়াকলাপ প্রায় সর্বদা সংক্ষিপ্ত হবে (বিশেষত এটি আপনাকে মাধ্যমে আউটপুট দেয় return- প্রত্যাবর্তনের মানটি আউটপুটটির বৈধ ফর্ম - এটি প্রয়োজন হয় না System.out, যদিও এই ক্ষেত্রে returnকাজ করার জন্য আপনাকে আংশিকভাবে সংরক্ষণ করতে হবে একটি স্ট্রিং মধ্যে নির্মিত তালিকা)। সাম্প্রতিক জাভা ল্যাম্বডাসকে সমর্থন করে এবং এগুলি সাধারণত "নিয়মিত" ফাংশন সংজ্ঞার চেয়ে ছোট হয় out (এছাড়াও, কেন শীর্ষস্থানীয় সাদা জায়গা?)

@ আইস ৫২৩ শীর্ষস্থানীয় শ্বেতস্থানটি কেবল আমার নিজস্ব অভ্যাস এবং আমি এটিকে বাইট গণনায় অন্তর্ভুক্ত করি নি, আমার ধারণা এটি থেকে মুক্তি পাওয়া উচিত। সাহায্যের জন্য ধন্যবাদ!
হেনরি


0

রুবি, 27 বাইট

->n{[*0-n/2..n/2]if n.odd?}

একটি বেনাম ল্যাম্বদা ফাংশন তৈরি করে যা এর অ্যারেটি ফিরিয়ে দেবে n 0 টির মধ্যে বিজোড় হলে নিকটতম সংখ্যার এবং অন্যথায় শূন্য (রুবিতে একটি মিথ্যা মান) দেয়।

রুবি তার পূর্ণসংখ্যা বিভাজন -অনফিনিটির দিকে গোল করে, তবে এটির 0-n/2চেয়ে ছোট-n/2+1 (যেহেতু বিয়োগ চিহ্নটি সেখানে রয়েছে), এবং এখন ইতিবাচক বলে বিবেচিত হওয়ায় গোলটি আমার পক্ষে কাজ করে।

পুরানো সংস্করণ (২৮ বাইট)

->n{[*-n/2+1..n/2]if n.odd?}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.