এক্স স্টেপ ফরোয়ার্ড, 1 ধাপ পিছনে


21

এখানে একটি সহজ ক্রমের প্রথম 100 সংখ্যা:

0,1,0,2,1,4,3,7,6,11,10,16,15,22,21,29,28,37,36,46,45,56,55,67,66,79,78,92,91,106,105,121,120,137,136,154,153,172,171,191,190,211,210,232,231,254,253,277,276,301,300,326,325,352,351,379,378,407,406,436,435,466,465,497,496,529,528,562,561,596,595,631,630,667,666,704,703,742,741,781,780,821,820,862,861,904,903,947,946,991,990,1036,1035,1082,1081,1129,1128,1177,1176,1226

এই ক্রমটি কীভাবে কাজ করবে?

n: 0 1     2           3     4     5     6     7     8      9       10      11      12

   0,      1-1=0,      2-1=1,      4-1=3,      7-1=6,       11-1=10,        16-1=15,      
     0+1=1,      0+2=2,      1+3=4,      3+4=7,      6+5=11,        10+6=16,        15+7=22
  • a(0) = 0
  • প্রতিটি বিজোড় n(0-সূচকযুক্ত) এর জন্য, এটি a(n-1) + X(যেখানে X=1প্রতিবার এটি অ্যাক্সেস করা হয় সেখানে 1 এবং যেখানে বৃদ্ধি পায়)
  • প্রতিটি সমান n(0-সূচকযুক্ত) এর জন্য এটিa(n-1) - 1

চ্যালেঞ্জ:

অন্যতম:

  • একটি ইনপুট পূর্ণসংখ্যা দেওয়া হয়েছে, ক্রমের 'তম সংখ্যাটি nআউটপুট করুন n
  • একটি ইনপুট পূর্ণসংখ্যা দেওয়া হয় n, nক্রমের প্রথম সংখ্যাগুলি আউটপুট দেয় ।
  • কোনও ইনপুট না নিয়ে ( বা একটি খালি অব্যবহৃত ইনপুট না নিয়ে ) অনির্দিষ্টকালের জন্য ক্রমটিকে আউটপুট করুন

চ্যালেঞ্জ বিধি:

  • ইনপুট n0- বা 1-ইনডেক্স উভয়ই হতে পারে।
  • আপনি যদি অনুক্রমের আউটপুট (অংশ) করেন তবে আপনি একটি তালিকা / অ্যারে ব্যবহার করতে পারেন, যে কোনও ডিলিমিটার (স্পেস, কমা, নিউলাইন ইত্যাদি) দিয়ে STDOUT এ মুদ্রণ করতে পারেন। আপনার কল
  • আপনি আপনার উত্তরে তিনটি বিকল্পের মধ্যে কোনটি ব্যবহার করেছেন দয়া করে তা বলুন।
  • আপনাকে কমপক্ষে প্রথম 10,000 সংখ্যা (10,000 তম সংখ্যাটি 12,497,501) সমর্থন করতে হবে।

সাধারাইওন রুল:

  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
    কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার পক্ষে যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন।
  • স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি এবং রিটার্ন-টাইপ, সম্পূর্ণ প্রোগ্রাম সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
  • এছাড়াও, দয়া করে একটি ব্যাখ্যা যুক্ত করুন।

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

অনুক্রমের প্রথম 10,001 সংখ্যা সহ পেস্টবিন। আপনার পছন্দসই কোনটি নির্দ্বিধায় বেছে নিন

কিছু উচ্চতর সংখ্যা:

n (0-indexed)    Output:

68,690           589,772,340
100,000          1,249,975,000
162,207          3,288,888,857
453,271          25,681,824,931
888,888          98,765,012,346
1,000,000        124,999,750,000

উত্তর:



8

এক্সেল, 31 বাইট

উত্তর 0সূচিত হয়। nসংখ্যাটি আউটপুট করে ।

=(A1^2+IF(ISODD(A1),7,-2*A1))/8

বর্ণিত ক্রমটি শেষ পর্যন্ত কেবল দুটি সিকোয়েন্সগুলি অন্তরুক্ত:

ODD:   (x^2+x+2)/2
EVEN:  (x^2-x)/2

এগুলিকে একটি 0সূচিকৃত ক্রমের সাথে ইন্টারলেসিং দেয়:

a = (x^2 - 2x)/8 if even
a = (x^2 + 7 )/8 if odd

যা দেয়:

=IF(ISODD(A1),(A1^2+7)/8,(A1^2-2*A1)/8)

যা আমরা 31বাইটগুলিতে গল্ফ করলাম ।


একই পদ্ধতির ব্যবহার করে, 1সূচকগুলি 37বাইট দেয় :

=(A1^2-IF(ISODD(A1),4*A1-3,2*A1-8))/8



4

হাস্কেল , 40 38 37 বাইট

scanl(flip($))0$[1..]>>=(:[pred]).(+)

একটি অসীম তালিকা ফিরে আসে, এটি অনলাইনে চেষ্টা করুন!

ব্যাখ্যা

scanlতিনটি আর্গুমেন্ট নেয় f, initএবং xs( [ x 0 , x 1 ... ] ) এবং একটি নতুন তালিকা তৈরি করে:

[ একটি 0 = আরআর , একটি 1 = চ (a 0 , x 0 ) , একটি 2 = চ (এ 1 , এক্স 1 ) ... ]

আমরা সেট init = 0এবং ফ্লিপ ব্যবহার ($)আবেদন অপারেটর (সুতরাং তা প্রযোজ্য একটি আমি ফাংশনে x আমি ), এখন আমরা শুধুমাত্র ফাংশন একটি তালিকা প্রয়োজন - তালিকা [1..]>>=(:[pred]).(+)ডান ফাংশন সঙ্গে একটি অসীম তালিকা:

[(+1),(-1),(+2),(-1),(+3),(-1),(+4),...

আকর্ষণীয় বিকল্প, 37 বাইট

flipহ্যাস্কেলের ধরণের অনুক্রমের পরিবর্তে (a -> b -> c) -> b -> a -> cআমরা যে ধরণের ব্যবহার করতে পারি তা হ'ল ধরণটি আমাদের সাথে একীভূত করা হবে ।id :: d -> d($)da -> b

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

সম্পাদন করা

-নোটেশনের (>>=)পরিবর্তে ব্যবহার করে বাইট do

এর scanlপরিবর্তে -1 বাইট ব্যবহার করে zipWith



3

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

ÎF<NÈi¼¾>+

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

ব্যাখ্যা

Î             # initialize stack with: 0, input
 F            # for N in [0 ... input-1] do:
  <           # decrement the current number
   NÈi        # if N is even
      ¼       # increment a counter
       ¾>     # push counter+1
         +    # add to current number

অন্য 10-বাইটার: ÎFNÈN;Ì*<O


ÎGDN+D<ক্রম উত্পন্ন করে, তবে নবম উপাদানটি ধরা ... 3 বাইটে শক্ত ...
ম্যাজিক অক্টোপাস উরন


3

এপিএল (ডায়ালগ ইউনিকোড) , 16 12 বাইট এসবিসিএস

বেনামে ট্যাসিট প্রিফিক্স ফাংশন। 0-ইন্ডেক্স।

+/⊢↑∘∊¯1,¨⍨⍳

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

+/ যোগফল

⊢↑ প্রথম nউপাদান

∘∊ এর ε nlisted (চ্যাপ্টা)

¯1,¨⍨ নেতিবাচক-এক-যোগ-টু-প্রতিটি

 প্রথম n ɩ ndices (0 থেকে n–1)


আহ, এটাই আমার সমাধান ছিল ... অনুমান করুন এটি যথেষ্ট পরিমাণে অনুরূপ ছিল।
এরিক দি আউটগল্ফার

3

জেলি , 6 বাইট

HḶS‘_Ḃ

একটি monadic লিঙ্ক গ্রহণ (1-সূচকযুক্ত) n যা প্রত্যাবর্তন করে a(n)

এটি অনলাইন চেষ্টা করুন!অথবা পরীক্ষা-স্যুটটি দেখুন

কিভাবে?

HḶS‘_Ḃ - link: n
H      - halve         -> n/2.0
 Ḷ     - lowered range -> [0,1,2,...,floor(n/2.0)-1]
  S    - sum           -> TriangleNumber(floor(n/2.0)-1)
   ‘   - increment     -> TriangleNumber(floor(n/2.0)-1)+1
     Ḃ - bit = 1 if n is odd, 0 if it's even
    _  - subtract      -> TriangleNumber(floor(n/2.0)-1)+isEven(n)

এইচএম, ঠিক সেখানে interesting
এরিক আউটগলফার

3

পিএইচপি , 73 64 55 51 47 বাইট

প্রথম পদ্ধতি

প্রথম কোড গল্ফ উত্তর!
আমি নিশ্চিত যে পিএইচপি কৌশলগুলি এটি আরও ছোট করার জন্য রয়েছে এবং সম্ভবত গণিতগুলি উন্নত করা যেতে পারে।

প্রথম আর্গুমেন্ট হিসাবে n নেয় এবং ক্রমানুসারে নবম সংখ্যাটি আউটপুট করে।

$y=$argv[1]/2;for(;$i<$y+1;)$x+=$i++;echo$x-($y|0);

"$ X = 0;" সরিয়ে মাইনাস 9 বাইট এবং "$ i = 0"।

মাইনাস 9 বাইটস @ কেভিন ক্রুইজসেনকে ধন্যবাদ ধন্যবাদ শেষ ট্যাগটির লুপ এবং ক্ষতি হ্রাস করার জন্য improving

বিটওয়াস বা "|" ব্যবহার করে বিয়োগ 1 বাইট "(অন্তর্)" এর চেয়ে

মাইনাস 3 বাইট @ ডেনিসকে ধন্যবাদ হিসাবে আপনি ট্যাগগুলি এখানে "পিএইচপি -আর 'কোড" দিয়ে কমান্ড লাইন থেকে চালিয়ে মুছে ফেলতে পারেন

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

দ্বিতীয় পদ্ধতি

সম্পূর্ণ নতুন পদ্ধতিতে আমার আগের উত্তরটির সাথে মিলছে!

for(;$i<$argv[1];$i++)$x+=($y^=1)?$i/2+1:-1;echo$x;

লুপের অঙ্কের মধ্যে স্যুইচ করতে এক্সওআর এবং টেনারি অপারেটর ব্যবহার করে।

সম্পাদনা: এটি n = 0 এর জন্য কাজ করে না এবং কেন তা আমার কোনও ধারণা নেই। assigned আমি নির্ধারিত নয় সুতরাং এটি 0 হওয়া উচিত, সুতরাং লুপটি ($i<$argv[1])ব্যর্থ হওয়া উচিত (0<0==false), সুতরাং একটি নির্ধারিত $ x 0 হিসাবে আউটপুট করা উচিত 1 এবং নয় not

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

তৃতীয় পদ্ধতি

@ ওয়ার্নিশকে পিএইচপি-তে তৈরি করা এক্সেল সূত্রটি রূপান্তর করা 47 টি বাইট সমাধান দেয়

$z=$argv[1];echo(pow($z,2)+(($z&1)?7:-2*$z))/8;

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


1
হাই, পিপিসিজিতে আপনাকে স্বাগতম! আপনি যদি এখনো না থাকে, তাহলে পিএইচপি golfing জন্য টিপস এবং <সমস্ত ভাষা> এ golfing জন্য টিপস মাধ্যমে পড়া আকর্ষণীয় হতে পারে। গল্ফকে কিছু জিনিস: আপনি পিছনটি সরাতে পারেন ?>। অপসারণ $x=0এবং $i=0প্রকৃতপক্ষে অনুমোদিত (যদি না হয়, $x=$i=0তবে এটি আরও খাটো হত)। এছাড়াও, লুপটি সংক্ষিপ্ত করা যেতে পারে for(;$i<$y+1;)$x+=$i++;। যা মোট -15 বাইট। উপভোগকর তোমার থাকা! :)
কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন অনেক ধন্যবাদ!
স্যাম ডিন

আপনাকে স্বাগতম. বিটিডব্লিউ, আপনার টিআইও বর্তমানে 58 এর পরিবর্তে 60 বাইট রয়েছে And এবং কেন আপনি 57 লিখেছেন তা নিশ্চিত নয় online অনলাইনে চেষ্টা করে দেখুন।
কেভিন ক্রুইজসেন

@ কেভিন ক্রুইজসেন আমি ভুল টিআইও পোস্ট করতে থাকি! টিআইও এখন 58 বলেছে তবে আমি 55 পোস্ট করেছি যেহেতু আপনি "পিএইচপি" অপসারণ করতে পারবেন কেবল টিআইওতে নয়
স্যাম ডিন

@ ওয়ার্নিশ আপনার সূত্রের জন্য ধন্যবাদ!
স্যাম ডিন

3

আর , 35 বাইট

diffinv(rbind(n<-1:scan(),-1)[n-1])

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

আমি ভেবেছিলাম এটি @ জাইসির উত্তরের একটি আকর্ষণীয় বিকল্প ছিল কারণ এটি ম্যাট্রিক্সের জন্য অন্তর্নির্মিত সমর্থন ব্যতীত ভাষাগুলির পক্ষে খুব ভাল পোর্ট করে না, এবং ঠিক তেমন গোলাপী হয়।

1-সূচকযুক্ত, nক্রমের প্রথম উপাদানগুলি প্রদান করে।

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

rbind(n<-1:scan(),-1) নিম্নলিখিত ম্যাট্রিক্স গঠন করে:

     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]   -1   -1   -1   -1

যেহেতু আর কলাম-প্রধান ক্রমে ম্যাট্রিক্স ধারণ করে, যদি আমরা এটিকে একটিতে রূপান্তর vectorকরি তবে আমরা একটি ভেক্টর পেতে পারি would

1 -1 2 -1 3 -1 4 -1

যা আমরা যদি একটি সংখ্যক যোগফল গ্রহণ করি, আমরা পেতাম

1 0 2 1 4 3 7 6

যা সিকোয়েন্স, কেবল নেতৃত্ব ছাড়াই 0diffinvভাগ্যক্রমে নেতৃস্থানীয় শূন্য যুক্ত করে, সুতরাং আমরা n-1ম্যাট্রিক্স এবং diffinvসেগুলি থেকে প্রথম nমানগুলি সিকোয়েন্সের প্রথম মানগুলি গ্রহণ করি।


2
আমি আপনার 'ডিফিনভ' উত্তরের একটি বড় অনুরাগী।
জেসি


3

আর , 35 34 বাইট

(u=(n=scan())-n%%2-1)-n+(15+u^2)/8

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

প্রথম আউটপুট বিকল্প.একটি উত্তর হিসাবে একই সূত্র (আমি সূত্রটি সরবরাহ করে এমন প্রথম উত্তরের দিকে নির্দেশ করতে চাই, এটি কোনটি আমি বুঝতে পারি না)।

দ্বিতীয় এবং তৃতীয় আউটপুট বিকল্পগুলি নীচে:

আর , 43 বাইট

function(m,n=1:m,u=n%%2+1)((n-u)^2-1)/8+2-u

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

আর , 51 বাইট

while(T){cat(((T-(u=T%%2+1))^2-1)/8+2-u," ");T=T+1}

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


3

মতলব / অক্টোব, 31 26 বাইট

লুইস মেন্ডোতে 5 বাইট সংরক্ষণ করেছেন!

@(n)sum(1:n/2+.5)-fix(n/2)

1
আপনি সম্ভবত এর fixপরিবর্তে floorএবং এর n/2+.5পরিবর্তে ব্যবহার করতে পারেনceil(n/2)
লুইস মেন্ডো

@ লুইস মেন্ডো টাই! সম্পর্কে fix()জানতেন না 1:n/2+.5এবং কাজ করার আশাও করেননি - এমন অনেক কিছু যা ভুল হতে পারে তবে তারা আসলে তা করেন না :)
লিয়ান্ডার মোয়েঞ্জার




3

কিউ বেসিক, 31 বাইট

জাস্ট-বাস্তবায়ন-দ্য স্পিক সমাধানটি এরিকের সমাধানের চেয়ে সামান্য দীর্ঘায়িত হয় ।

DO
?n
i=i+1
n=n+i
?n
n=n-1
LOOP

এটি অনির্দিষ্টকালের জন্য আউটপুট দেয়। এটি চালানোর উদ্দেশ্যে, আমি সর্বশেষ পংক্তিকে এমন কিছুতে পরিবর্তন করার পরামর্শ দিচ্ছি LOOP WHILE INPUT$(1) <> "q", যা প্রতি দ্বিতীয় সিকোয়েন্স এন্ট্রি করার পরে কি-পিসের জন্য অপেক্ষা করবে এবং কী টিপে থাকলে প্রস্থান করবে q


2

সি # (.নেট কোর) , 56 বাইট

n=>{int a=0,i=0;for(;++i<n;)a+=i%2<1?-1:i/2+1;return a;}

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

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

1 সূচকযুক্ত। রিটার্নসa(n)

Ungolf'd:

int f(int n)
{
    // a needs to be outside the for loop's scope,
    // and it's golfier to also define i here
    int a = 0, i = 1;
    // basic for loop, no initializer because we already defined i
    for (; ++i < n;)
    {
        if (i%2 < 1) {
            // if i is even, subtract 1
            a -= 1;
        }
        else
        {
            // if i is odd, add (i / 2) + 1
            // this lets us handle X without defining another int
            a += i / 2 + 1;
        }
    }
    // a is the number at index n
    return a;
}

1
i=1;for(;i<n;i++)হতে পারে i=0;for(;++i<n;)এবং i%2==0হতে পারে i%2<1
কেভিন ক্রুইজসেন

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

নাহ, এটি ইতিমধ্যে প্রথম পুনরাবৃত্তির আগে চেক করে। এ do-whileপ্রথম পুনরাবৃত্তি সম্পন্ন করার পরে পরীক্ষা করবে। :)
কেভিন ক্রুইজসেন

খুব বিরল ক্ষেত্রে আপনি এমনকি ifকোনও- forলুপের সাথে একত্রীকরণ করতে পারেন । যেমন: if(t>0)for(i=0;i<l;i++)to for(i=0;t>0&i<l;i++)। যদিও আমি আমার উত্তরগুলিতে এটি প্রায় কখনও ব্যবহার করতে সক্ষম হইনি।
কেভিন ক্রুইজসেন

এটি অত্যন্ত দুর্দান্ত, আমি পরের বার সি # গল্ফিংয়ের বিষয়টি অবশ্যই মনে রাখব, যা এই দিনগুলিতে খুব বিরল: পি আমার বেশিরভাগ সি # কাজই সিদ্ধান্তহীন
স্কিডদেব

2

হুশ , 11 9 8 বাইট

ΘṁṠe→Θ∫N

এইচ.পি.উইজকে একটি বাইট সংরক্ষণ করা হয়েছে।
অসীম তালিকা হিসাবে আউটপুট।
এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

ΘṁṠe→Θ∫N
      ∫N   Cumulative sum of natural numbers (triangular numbers).
     Θ     Prepend 0.
 ṁṠe→      Concatenate [n + 1, n] for each.
Θ          Prepend 0.

2

ডোডোস , 69 বাইট

	. w
w
	. h
	+ r . ' dab h '
h
	h ' '
	. dab
r
	
	r dip
.
	dot
'
	dip

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


একরকম এটি দীর্ঘতম উত্তর।

ব্যাখ্যা।

┌────┬─────────────────────────────────────────────────┐
│Name│Function                                         │
├────┼─────────────────────────────────────────────────┤
│.   │Alias for "dot", computes the sum.               │
├────┼─────────────────────────────────────────────────┤
│'   │Alias for "dip".                                 │
├────┼─────────────────────────────────────────────────┤
│r   │Range from 0 to n, reversed.                     │
├────┼─────────────────────────────────────────────────┤
│h   │Halve - return (n mod 2) followed by (n/2) zeros.│
└────┴─────────────────────────────────────────────────┘

1

কাঠকয়লা , 15 বাইট

I∨ΣEN⎇﹪ι²±¹⊕⊘ι⁰

এটি অনলাইন চেষ্টা করুন! 0-ইন্ডেক্স। লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। সূত্রটি সম্ভবত সংক্ষিপ্ত হবে তবে এতে কী মজা আছে? ব্যাখ্যা:

    N           Input as a number
   E            Map over implicit range
     ⎇          Ternary
      ﹪ι²       Current value modulo 2
         ±¹     If true (odd) then -1
           ⊕⊘ι  Otherwise calculate X as i/2+1
  Σ             Take the sum
 ∨            ⁰ If the sum is empty then use zero
I               Cast to string and implicitly print

1

জাভাস্ক্রিপ্ট, 49 48 45 বাইট

x=>eval('for(i=0,r=1;++i<x+2;)r+=i%2?-1:i/2')

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

@ উত্তর উত্তরের মত সুন্দর নয়, তবে আমার জন্য বড় সংখ্যার জন্য কাজ করে।

এবং এখন evalসমাধানের জন্য @ ধন্যবাদ, ধন্যবাদ !


<=x+1হতে পারে<x+2
কেভিন ক্রুইজসেন

x=>eval('for(i=0,r=1;++i<x+2;)r+=i%2?-1:i/2')খাটো হতে হবে।
tsh

evalশেষ পরিবর্তনকৃত মানটি কি ফেরত দেয়? আমি এখনও পুরোপুরি বুঝতে পারি না এটি কী করতে পারে।
এলোমেলো লোক

এটি বিবৃতিটির মান (যা পরবর্তী সংস্করণে বিবৃতিতে আচ্ছাদিত হতে পারে do) প্রদান করে।
tsh

1

বেফঞ্জ 93, 26 বাইট

<v0p030
 >:.130g+:30p+:.1-

অনির্দিষ্টকালের জন্য
এটি চালিয়ে যান অনলাইনে চেষ্টা করুন , যদিও আউটপুটটি খানিকটা চঞ্চল হয়ে যায় এবং x = 256 এর পরে ফিরে যায়, সম্ভবত টিআইও U + 256 এর উপরে অক্ষরগুলি পরিচালনা করতে পারে না। Https://www.bedroomlan.org/tools/befunge-play গ্রাউন্ডে সূক্ষ্মভাবে কাজ করে (ক্রোম কেবল, দুর্ভাগ্যক্রমে Firef ফায়ারফক্সের সাথে, কোনও কারণে রানটাইম এ শেষ প্রান্তগুলি সরানো হবে ...)



1

Pyth , 8 বাইট

s<s,R_1S

রিটার্নস nসিকোয়েন্সে 0 ম- তম সংখ্যাটি দেয়।এটি অনলাইনে চেষ্টা করুন

ব্যাখ্যা যেমন উদাহরণস্বরূপ n=5:

s<s,R_1SQQ   Final 2 Q's are implicit, Q=eval(input())

       SQ    1-indexed range        [1,2,3,4,5]
   ,R_1      Map each to [n,-1]     [[1,-1],[2,-1],[3,-1],[4,-1],[5,-1]]
  s          Sum (Flatten)          [1,-1,2,-1,3,-1,4,-1,5,-1]
 <       Q   Take 1st Q             [1,-1,2,-1,3]
s            Sum, implicit output   4

1

পার্ল 6 ,  38  26 বাইট

{(0,{$_+(($+^=1)??++$ !!-1)}...*)[$_]}

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

{(+^-$_+|1)**2 div 8+$_%2}

বিপরীত প্রকৌশল টিফেল্ডের পাইথন উত্তরের উপর ভিত্তি করে ।
চেষ্টা করে দেখুন

সম্প্রসারিত

38 বাইট (ক্রম জেনারেটর):

{  # bare block lambda with implicit parameter $_

  (
    # generate a new sequence everytime this function is called

    0,    # seed the sequence

    {     # bare block that is used to generate the rest of the values

      $_  # parameter to this inner block (previous value)

      +

      (
          # a statement that switches between (0,1) each time it is run
          ( $ +^= 1 )

        ??     # when it is 1 (truish)
          # a statement that increments each time it is run
          ++$ # &prefix:« ++ »( state $foo )

        !!     # or else subtract 1
          -1
      )
    }

    ...  # keep generating until:

    *    # never stop

  )[ $_ ] # index into the sequence
}

মনে রাখবেন যে এতে আপনি যে পাস করতে পারেন তার সুবিধা রয়েছে * পুরো উপক্রমটি পেতে বা একাধিক মান আরও দক্ষতার সাথে উত্পন্ন করতে একটি ।

26 বাইট (সরাসরি গণনা):

{  # bare block lambda with implicit parameter $_

  (

    +^     # numeric binary negate
      -$_  # negative of the input
      +|   # numeric binary or
      1

  ) ** 2   # to the power of 2

  div 8     # integer divide it by 8

  + $_ % 2  # add one if it is odd
}

1

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

;L¨O>¹É-

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

জোনাথন অ্যালান এর জেলি পদ্ধতির উপর ভিত্তি করে (যা সম্ভবত ক্রমের অন্য সংজ্ঞা সহ প্রশ্নটির সম্পাদনার উপর ভিত্তি করে তৈরি হয়েছিল), সুতরাং 1-সূচীভূত।


+1 টি। আমার 05AB1E তে অনুরূপ পন্থা প্রস্তুত ছিল যা আমি অন্য কেউ পোস্ট না করলে কয়েকদিনে পোস্ট করার পরিকল্পনা করেছি। এটি কিছুটা পৃথক (লেজ অপসারণের পরিবর্তে আমি প্রথমে অর্ধেক হ্রাস করে; এবং এর Iপরিবর্তে আমি ব্যবহার করি ¹), তবে সাধারণ পন্থা এবং বাইট-গণনা হুবহু এক:;<LO>IÉ-
কেভিন ক্রুইজসেন

@ কেভিন ক্রুইজসেন গতকাল পোস্ট করতেন যদি আমার আরও গভীরভাবে চিন্তা করার ক্ষমতা থাকত তবে ভাল, এটি চূড়ান্ত সময়, এ সম্পর্কে খুব গভীরভাবে চিন্তা করা নিষিদ্ধ। : পি
এরিক আউটগলফার

আহা, আমি আনন্দিত যে আমার আর ফাইনাল নেই। আমি যদিও কাজের ক্ষেত্রে বেশ ব্যস্ত থাকি, এবং কোড-গল্ফটি আমার ইচ্ছার চেয়ে অনেক সময় পিছিয়ে দিতে হয়। ; পি আপনার পরীক্ষার জন্য শুভকামনা!
কেভিন ক্রুইজসেন

1

উত্তল , 10 9 বাইট

_½,ª)\2%-

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

জোনাথন অ্যালান এর জেলি পদ্ধতির উপর ভিত্তি করে (যা সম্ভবত ওপিতে ক্রমের অন্য সংজ্ঞা সহ প্রশ্ন সম্পাদনা করার উপর ভিত্তি করে ছিল)। 1-ইন্ডেক্স।

ব্যাখ্যা:

_½,ª)\2%- Stack: [A]
_         Duplicate. Stack: [A A]
 ½        Halve. Stack: [A [A]½]
  ,       Range, [0..⌊N⌋). Stack: [A [[A]½],]
   ª      Sum. Stack: [A [[A]½],]ª]
    )     Increment. Stack: [A [[[A]½],]ª])]
     \    Swap. Stack: [[[[A]½],]ª]) A]
      2   2. Stack: [[[[A]½],]ª]) A 2]
       %  Modulo. Stack: [[[[A]½],]ª]) [A 2]%]
        - Minus. Stack: [[[[[A]½],]ª]) [A 2]%]-]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.