শীতল শিরোনামহীন ক্রম জিনিস


19

আসুন f এন (কে) কে প্রাকৃতিক সংখ্যার [1, ∞) প্রথম k পদগুলির যোগফল হিসাবে সংজ্ঞায়িত করি যেখানে প্রতিটি সংখ্যার n বারবার পুনরাবৃত্তি হয় ।

k       | 0    1    2    3    4    5    6    7    8    9
--------+-------------------------------------------------
f_1(k)  | 0    1    3    6    10   15   21   28   36   45
deltas  |   +1   +2   +3   +4   +5   +6   +7   +8   +9
--------+-------------------------------------------------
f_2(k)  | 0    1    2    4    6    9    12   16   20   25
deltas  |   +1   +1   +2   +2   +3   +3   +4   +4   +5
--------+-------------------------------------------------
f_3(k)  | 0    1    2    3    5    7    9    12   15   18
deltas  |   +1   +1   +1   +2   +2   +2   +3   +3   +3

বর্গাকার অ্যারে হিসাবে এর অ্যান্টি- ডায়াগোনেলগুলি OEIS ক্রম A134546 এর মতো

চ্যালেঞ্জ

এমন একটি প্রোগ্রাম / ফাংশন লিখুন যাতে দুটি অ-নেতিবাচক পূর্ণসংখ্যা n এবং k হয় এবং এফ এন (কে) আউটপুট দেয় ।

বিশেষ উল্লেখ

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

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

এই পরীক্ষার ক্ষেত্রে, n 1-indexed এবং k 0-indexed হয়।

n   k      fn(k)

1   2      3
2   11     36
11  14     17
14  21     28
21  24     27
24  31     38
31  0      0

কয়েকটি আরও ভাল ফর্ম্যাটে:

1 2
2 11
11 14
14 21
21 24
24 31
31 0

1, 2
2, 11
11, 14
14, 21
21, 24
24, 31
31, 0

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

এটি হাস্কেলে লেখা আছে ।

f n k = sum $ take k $ replicate n =<< [1..]

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

এই চ্যালেঞ্জটি স্যান্ডবক্সযুক্ত ছিল।


আপনি কি মনে করেন যে আমার সম্পাদনাটি ফর্ম্যাটিংয়ের উন্নতি করে, বা এটি কেবল আমার ব্রাউজারে রয়েছে?
ব্যবহারকারী 202729

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

আমাদের 0-সূচী f_n(0) = 0জন্য মামলা পরিচালনা করা প্রয়োজন k?
সিনাস্কি

9
" শীতল শিরোনামহীন সিকোয়েন্সটি আপত্তিকর " লোল, আমিই একমাত্র সেই সমস্যার
মুখোমুখি হইনি

3
@ ফ্যাবিয়ান না, আপনি কেবল kপুনরাবৃত্তি প্রাকৃতিক সংখ্যার তালিকা থেকে প্রথম পদটি যোগ করেন, প্রথম পদটি নয় n*k
মার্টিন ইন্ডার

উত্তর:


12

রুবি , 32 28 23 বাইট

->n,k{k.step(0,-n).sum}

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

ব্যাখ্যা

আসুন অঙ্কটি ত্রিভুজের ক্ষেত্রফল হিসাবে কল্পনা করুন, উদাহরণস্বরূপ n = 3 এবং k = 10 সহ:

*
*
*
**
**
**
***
***
***
****

তারপরে আমরা সারির পরিবর্তে কলাম অনুসারে যোগফলটি করব: প্রথম কলামটি kতখন k-n, k-2nএবং আরও কিছু।


8

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

lambda n,k:(k+k%n)*(k/n+1)/2

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

সহায়তার জন্য মার্টিন ইন্ডার, নীল এবং মিঃ এক্সকোডারকে ধন্যবাদ।


1
আপনার আসলে k/nযাইহোক প্রয়োজন হবে না - k-(k/n)*nঠিক আছে k%n। আমার ব্যাচের উত্তর দেখুন।
নীল


ধন্যবাদ। আমি ভাবিনি যে এটি এত সহজ হতে পারে।
জিবি

8

কাস্তে , 4 বাইট

Σ↑ṘN

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

ব্যাখ্যা

এটি কেবলমাত্র চ্যালেঞ্জের রেফারেন্স প্রয়োগের প্রত্যক্ষ অনুবাদ হিসাবে শেষ হয়েছে:

   N  Start from the infinite sequence of all natural numbers.
  Ṙ   Replicate each element n times.
 ↑    Take the first k values.
Σ     Sum them.


5

গণিত, 40 বাইট

Tr@Sort[Join@@Range@#2~Table~#][[;;#2]]&

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

Tr[Range@(s=⌊#2/#⌋)]#+#2~Mod~#(s+1)&

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

গণিত, 18 বাইট

মার্টিন ইন্ডার

Tr@Range[#2,0,-#]&

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

n~Sum~{n,#2,0,-#}&

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


2
Tr@Range[#2,0,-#]&বা n~Sum~{n,#2,0,-#}&জিবি এর রুবি উত্তর থেকে কৌশলটি ব্যবহার করুন।
মার্টিন এন্ডার


5

জেলি , 5 বাইট

Rxḣ³S

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

ব্যাখ্যা

Rxḣ³S
R           Range: [1,2,...,k]
 x          Times: repeat each element n times: [1,1,1,2,2,2,...,n,n,n]
  ḣ³        Head: take the first k elements. ³ returns the first argument.
    S       Sum

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


4

জেলি , 4 বাইট

1-ইন্ডেক্স

Ḷ:‘S

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


আপনি 0 টি ইনডেক্সিং করতে পারেন তাই আমার মনে হয় Ḷ:Sএটিও কাজ করে
dylnan

@ অল্লান আসলে আমি 0-সূচক এখানে মানে যা মনে করি তা মনে হয় না। আমি ফিরে এসেছি, এবং আমরা দেখতে পাব
মিঃ এক্সকোডার

শূন্যের দ্বারা @llnan বিভাগ একটি ত্রুটি।
এরিক দি আউটগল্ফার

4

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

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (n)(k)। ফেরত পাঠায় falseপরিবর্তে0

n=>g=k=>k>0&&k+g(k-n)

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

কিভাবে?

n =>             // main unamed function taking n
  g = k =>       // g = recursive function taking k
    k > 0 &&     // if k is strictly positive:
      k +        //   add k to the final result
      g(k - n)   //   subtract n from k and do a recursive call

এটি @ জিবি এর রুবি উত্তরের অনুরূপ ।

চ্যালেঞ্জটি বর্ণনা করে যে কীভাবে বাম থেকে ডানে 'সিঁড়ি' তৈরি করবেন, অন্যদিকে এই পুনরাবৃত্ত ফাংশন এটিকে নীচে থেকে উপরে তৈরি করে। সঙ্গে এন = 2 এবং ট = 11 :

সিঁড়ি


3

ব্যাচ, 34 বাইট

@cmd/cset/a(%2+%2%%%1)*(%2/%1+1)/2

একটি বদ্ধ-সূত্র যা আমি খুঁজে পেয়েছি। প্রথম যুক্তিটি n1-সূচকযুক্ত, দ্বিতীয় যুক্তিটি k0-সূচিযুক্ত।



3

হাস্কেল , 28 বাইট

n#k|m<-k`mod`n=sum[m,m+n..k]

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

কিছু পরিসীমা পরামিতিগুলির সাথে প্রায় স্ক্রু করে আমি একটি পন্থা পেয়েছি। সর্বাধিক সংক্ষিপ্ততম নয় তবে এটি এত দুর্দান্ত যে কীভাবে অনেকগুলি ভিন্ন পদ্ধতি রয়েছে।


3

সি, 38 34 বাইট

পুনরাবৃত্ত সংজ্ঞা।

-4 বাইটস স্টেডিবক্সকে ধন্যবাদ ।

f(n,k){return k--?1+f(n,k)+k/n:0;}

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


মিঃ এক্সকোডার , জিবি দ্বারা 32 বাইট

f(n,k){return(k+k%n)*(k/n+1)/2;}

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



1
জিবি এর অ্যাপ্রোচ, 32 বাইট
মিঃ এক্সকোডার

tio.run/… -> 28 বাইট
জিবি

1
34 বাইট (পুনরাবৃত্ত সংস্করণ): f(n,k){return k--?1+f(n,k)+k/n:0;} এটি অনলাইনে চেষ্টা করুন!
স্টেডিবক্স

3

আর , 37 33 31 বাইট

-6 বাইট জিউসেপ্পিকে ধন্যবাদ

function(n,k)sum(rep(1:k,,k,n))

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

অভিনব কিছু না। হ্যান্ডলগুলি ক্ষেত্রে যখন ট = 0।[0:k]


1
আপনি এখানে বন্ধনী থেকে মুক্তি পেতে পারেন। আপনার জন্য-অর্ডার আর্গুমেন্ট ব্যবহার করেন তাহলে rep.default, আপনি পরিত্রাণ পেতে পারেন [0:k]ব্যবহার করে rep(1:k,,k,n)কিন্তু তারপর আপনার উত্তর মূলত rturnbull কিন্তু বেস আর সঙ্গে বদলে যায়R + pryr
: Giuseppe

1
আপনি এখনও বন্ধনী থেকে মুক্তি পেতে পারেন! {}
জিউসেপ

[0: কে] প্রতিস্থাপনটি আমাকে পেয়েছিল এবং আমি বন্ধনীগুলি ভুলে গিয়েছিলাম :)
NofP

2

সি ++, 53 বাইট

কেবল সূত্রটি ব্যবহার করুন। n1-ইনডেক্সেড এবং k0-ইনডেক্সেড।

[](int n,int k){return k/n*(k/n+1)/2*n+k%n*(k/n+1);};

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


~অপারেটরকে গালি দিয়ে কয়েকটা বাইট সংরক্ষণ করুন । [](int n,int k){return-k/n*~(k/n)/2*n-k%n*~(k/n);};
সিলিংক্যাট

2

জে , 13 বাইট

1#.]{.(#1+i.)

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

বাম আর্গুমেন্ট এন, ডান কে।

i. 0..k-1 একটি তালিকা তৈরি করে

1+ তালিকার প্রতিটি সংখ্যায় একটি যোগ করে 1,2, ..., কে

# উপরের সাথে একটি হুক গঠন করে, সুতরাং তালিকার প্রতিটি উপাদানগুলির অনুলিপি করা হয়।

]{. তাদের প্রথম এন নিন

1#. বেস রূপান্তর অনুসারে তাদের যোগফলটি সন্ধান করুন।

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


আমি হুক পছন্দ করি
কোলে

2

রেটিনা , 29 26 বাইট

\d+
$*
(?=.*?(1+)$)\1
$'
1

এটি অনলাইন চেষ্টা করুন! লিঙ্কটিতে তার পছন্দসই ইনপুটগুলিতে পুনরায় ফর্ম্যাট করার জন্য পরীক্ষার কেসগুলি এবং শিরোলেখ অন্তর্ভুক্ত করা হয় (0- kপ্রথমে সূচকযুক্ত , 1-সূচকযুক্ত nদ্বিতীয়)। আমি @ জিবি'র রুবি উত্তরটি দ্বারা অনুপ্রাণিত হয়েছি। ব্যাখ্যা:

\d+
$*

অ্যানারিতে রূপান্তর করুন।

(?=.*?(1+)$)\1
$'

প্রতিটি স্ট্রিং এর nমধ্যে ম্যাচ করুন kএবং ম্যাচের পরে ম্যাচের সাথে সমস্ত কিছু প্রতিস্থাপন করুন। এই k-n, k-2n,k-3n , কিন্তু nএছাড়াও খেলা শেষে, তাই আপনি পাবেন k, k-n, k-2nইত্যাদি এই ম্যাচ n, যা কেবল মুছে ফেলা হয় (এটা আর প্রয়োজন হচ্ছে)।

1

ফলাফলগুলি যোগ করুন এবং দশমিকটিতে ফিরে রূপান্তর করুন।



2

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

->\n,\k{(0,{|($_+1 xx n)}...*)[^k].sum}

এটা পরীক্ষা করো

এন এবং কে উভয়ই 1 ভিত্তিক

সম্প্রসারিত:

-> \n, \k { # pointy block lambda with two parameters 「n」 and 「k」

  ( # generate the sequence

    0,         # seed the sequence (this is why 「k」 is 1-based)

    {          # bare block lambda with implicit parameter 「$_」
      |(       # slip this into outer sequence
        $_ + 1 # the next number
        xx n   # repeated 「n」 times (this is why 「n」 is 1-based)
      )
    }

    ...        # keep doing that until

    *          # never stop

  )[ ^k ]      # get the first 「k」 values from the sequence
  .sum         # sum them
}






1

ক্লোজার, 54 বাইট

#(nth(reductions +(for[i(rest(range))j(range %)]i))%2)

দ্বিতীয় আর্গুমেন্ট k0-সূচকযুক্ত, তাই (f 14 20)28।


1

এপিএল + উইন, 13 বাইট

+/⎕↑(⍳n)/⍳n←⎕

N এর জন্য স্ক্রিন ইনপুট এবং তারপরে কে। সূচক উত্স = 1।



1

Japt , 7 6 বাইট

মূলত জিবি এর সমাধান দ্বারা অনুপ্রাণিত একটি বন্দরে বিবর্তিত!

kপ্রথম ইনপুট nহিসাবে এবং দ্বিতীয় হিসাবে লাগে ।

õ1Vn)x

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


ব্যাখ্যা

পূর্ণসংখ্যা U=kএবং এর অন্তর্নিহিত ইনপুট V=n। (পূর্ণসংখ্যার একটি অ্যারের জেনারেট করুন õ) থেকে 1থেকে Uএকটি ধাপ Vঅস্বীকার ( n) এবং উপরন্তু দ্বারা এটি হ্রাস ( x)।


1

আর , 27 বাইট

অজ্ঞাতনামা ফাংশন যা নেয় kএবং nসেই ক্রমে। দৈর্ঘ্যের একটি তালিকা তৈরি করে k(তৃতীয় যুক্তি দিয়ে rep) যা 1দিয়ে তৈরি হয় k(প্রথম যুক্তি দিয়ে rep) প্রতিটি উপাদান nবার পুনরাবৃত্তি করে (চতুর্থ যুক্তি rep)। তারপরে সেই তালিকার যোগফল নেয়।

n1-ইনডেক্সেড এবং k0-ইনডেক্সেড। এর জন্য একটি ত্রুটি প্রদান করে n<1

pryr::f(sum(rep(1:k,,k,n)))

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


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