এম পুনরাবৃত্তির সাথে [N] এর পুনরাবৃত্তিমূলক সংক্ষিপ্ত পরিমাণের যোগফল


14

দুই ধনাত্মক পূর্ণসংখ্যা নিন Nএবং Mএবং ঘনিভূত ক্রমসঞ্চিত অঙ্কের তৈরি [N]সঙ্গে, Mপুনরাবৃত্তিও। শেষ পুনরাবৃত্তির ফলাফল আউটপুট।

সংক্ষিপ্ত পরিমাণের যোগফলের সংজ্ঞা:

  1. একটি সংখ্যা দিয়ে শুরু করুন Nএবং একটি ক্রম সংজ্ঞায়িত করুনX = [N]
  2. সংযোজন Xক্রমপুঞ্জিত অঙ্কেরX
  3. পদক্ষেপটি 2 Mবার পুনরাবৃত্তি করুন ।

একটি ভেক্টর ক্রমপুঞ্জিত সমষ্টি, X = [x1, x2, x3, x4]হল: [x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]

সঙ্গে উদাহরণ N = 1এবং M = 4:

P = সংশ্লেষক যোগফল।

M = 0: [1]
M = 1: [1, 1]                    -  X = [1, P(1)] = [[1], [1]]      
M = 2: [1, 1, 1, 2]              -  X = [X, P(X)] = [[1, 1], [1, 2]]
M = 3: [1, 1, 1, 2, 1, 2, 3, 5]  -  X = [X, P(X)] = [[1, 1, 1, 2], [1, 2, 3, 5]]
M = 4: [1, 1, 1, 2, 1, 2, 3, 5, 1, 2, 3, 5, 6, 8, 11, 16]

মনে রাখবেন যে প্রথমটি X = [1]পুনরাবৃত্তি হিসাবে গণনা করা হয় না। আপনি M = 5উপরের উদাহরণটি বেছে নিতে বেছে নিতে পারেন (সুতরাং X = [1]এটি একটি পুনরাবৃত্তি হিসাবে গণনা করা)।

এটি OEIS A107946


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

N = 5, M = 1
5, 5

N = 2, M = 3
2, 2, 2, 4, 2, 4, 6, 10

N = 4, M = 6
4, 4, 4, 8, 4, 8, 12, 20, 4, 8, 12, 20, 24, 32, 44, 64, 4, 8, 12, 20, 24, 32, 44, 64, 68, 76, 88, 108, 132, 164, 208, 272, 4, 8, 12, 20, 24, 32, 44, 64, 68, 76, 88, 108, 132, 164, 208, 272, 276, 284, 296, 316, 340, 372, 416, 480, 548, 624, 712, 820, 952, 1116, 1324, 1596

এটি , তাই সংক্ষিপ্ততম কোড জিততে পারে। .চ্ছিক ইনপুট এবং আউটপুট ফর্ম্যাটগুলি।


এখন অনেক দেরি হয়ে গেছে, কিন্তু Nসমস্যাটিতে কি আসলেই কিছু যুক্ত হয়? এটি কেবলমাত্র একটি ধ্রুবক ফ্যাক্টর যার মাধ্যমে আপনি ফলাফলকে গুণান।
মার্টিন এণ্ডার

উত্তর:


7

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

n!m=iterate((++)<*>scanl1(+))[n]!!m

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

-১৮ বাইটের জন্য এইচ.পি.উইজকে ধন্যবাদ


tail.scanl(+)0হতে পারেscanl1(+)
এইচপিউইজ

@ H.PWiz ধন্যবাদ, আমি সবসময় ভুলে *1সংস্করণ scanএবং fold
মেগো


1
35 বাইট ব্যবহার করছেiterate
এইচপিউইজ

আমি কেবল ব্যাখ্যাটি ছেড়ে যাচ্ছি - প্রতিবার এটির পরিবর্তনের জন্য খুব বেশি প্রচেষ্টা: পি
মেগো


6

হুস্ক , 9 8 7 বাইট

এইচপিউইজকে 1 বাইট সংরক্ষণের জন্য ধন্যবাদ

!¡S+G+;

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

1-ভিত্তিক ব্যবহার করে M

ব্যাখ্যা

      ;     Wrap N in a list to get [N].
 ¡          Iterate the following function on this list and collect
            the results in an infinite list.
  S+        Concatenate the current value with...
    G+      ...the cumulative sum. We're not using the cumsum built-in ∫ 
            because it prepends a zero.
!           Use M as an index into the infinite list.

আমার দৃষ্টিভঙ্গিও কি ছিল, আমি নিশ্চিত নই যে এটি গল্ফযোগ্য। এছাড়াও, আমি ইতিমধ্যে একটি নেতৃস্থানীয় (এই ক্ষেত্রে 2 বাইট সংরক্ষণ করতে পারে এমন কিছু) না ফেরার জন্য পরামর্শ দিয়েছি । cumsum0
এরিক দ্য আউটগল্ফার

হতে ot∫পারে G+?
এইচ.পি.উইজ

@ এইচ.পি.উইজ হুম ... ডকসগুলি এ সম্পর্কে অস্পষ্ট বলে মনে হচ্ছে (এএফএইআইকি "স্ক্যান" এর অর্থ "হ্রাস" নয় "ক্রমহ্রাসমান হ্রাস")।
এরিক আউটগল্ফার

Fহ্রাস Gহ'ল
সংঘবদ্ধ

5

MATL , 6 বাইট

:"tYsh

ইনপুট হয় M , তারপর N

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

ব্যাখ্যা

:"      % Implicitly input M. Do the following M times
  t     %   Implicitly input N the first time. Duplicate
  Ys    %   Cumulative sum
  h     %   Concatenate horizontally
        % Implicitly end loop. Implicitly display stack

3
Whaaaaat? আমি নিশ্চিত যে আমি এটি 100 বার চেষ্টা করেছি। এমনকি টিউ-তে কোনও অদ্ভুত ত্রুটি ছিল না তা নিশ্চিত করার জন্য আমি সুয়েভারের সাইটে গিয়ে চেষ্টা করেছিলাম ... আমি এটিকে কিছুতেই বুঝতে পারি না ...
স্টিভি গ্রিফিন

2
আমি এই সম্পর্কে চিন্তাভাবনা থামাতে পারি না ... আমি নিশ্চিত যে আমি সেই সঠিক চরিত্রগুলি বারবার লিখেছি এবং সফলতা ছাড়াই দুটি ভিন্ন সাইটে চালানোর চেষ্টা করেছি। যেহেতু এটি হতে পারে না, কেবলমাত্র ব্যাখ্যাটিই বাকি থাকে আমি পাগল হয়ে যাচ্ছি ... এটি সত্যিই আমার মাথার সাথে মিশে যায়!
স্টিভি গ্রিফিন


3

পাইথন 2 , 83 78 75 71 65 63 63 বাইট

def f(n,m):r=n,;exec"s=0\nfor c in r:s+=c;r+=s,\n"*m;print r

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

সংরক্ষিত 6 8 ডান্ডা ধন্যবাদ বাইট
সংরক্ষিত এরিক 3 বাইট ধন্যবাদ


@ রড আরও ধন্যবাদ: ডি
টিফিল্ড

আপনার দরকার নেই [:], rএকটি tuple
এরিক আউটগল্ফার

@ এরিকথ আউটগল্ফার, ধন্যবাদ, যখন আর তালিকা ছিল তখন থেকে এটি একটি বাকী
টিফিল্ড

3

ডায়ালগ এপিএল , 12 বাইট

{(⊢,+\)⍣⍺⊢⍵}

ডান দিকে এন এবং বাম দিকে এম লাগে। এখানে চেষ্টা করুন!

ব্যাখ্যা:

{(⊢,+\)⍣⍺⊢⍵}
{          } an anonymous function
 (⊢,+\)      a train for a single iteration:
             the right argument
   ,          concatenated with
    +\        the cumulative sum 
            repeated
             left argument times
         ⊢⍵  on the right argument

ব্যাখ্যা ভালবাসা। কি চলছে তা খুব পরিষ্কার। অন্যথায় এপিএল বোঝা শক্ত: পি
এমিগানা





0

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

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (m)(n)

m=>g=a=>m--?g([...a=+a?[a]:a,...a.map(x=>s+=x,s=0)]):a

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


0

জেলি , 5 বাইট

;+\$¡

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

ডেনিসের প্রস্তাবিত সংস্করণ ( সিঙ্গলটন অ্যারে nপরিবর্তে প্রত্যাবর্তন [n])।


Wএবং অপসারণ করা যেতে পারে।
ডেনিস

@ ডেনিস আমি ভয় করি আউটপুট ঠিক তখনই হবে না? আমি এটি ভেবেছিলাম তবে আমি যদি ইনপুট পাই 1এবং 0আমি ভয় করি যে আমি সেগুলি সরিয়ে দিলে 1পরিবর্তে ফিরে আসব এবং এর পরিবর্তে [1]আমি একটি সম্পূর্ণ প্রোগ্রাম ব্যবহার করতে পারি না, কারণ এর ফলাফল এখনও এ জাতীয় হবে।
এরিক আউটগল্ফার

1জেলি কীভাবে অ্যারে প্রদর্শন করে [1]। আমি তাতে কোনও সমস্যা দেখছি না।
ডেনিস

@ ডেনিস হুম ... এটি সম্পর্কে কিছুটা সন্দেহজনক (আমি উপরে আমার মন্তব্যের শেষ অংশে যেমন বলেছি) ... তাতে কি কোনও sensক্যমত্য রয়েছে, নাকি এটি "স্ট্যান্ডার্ড লুফোল অপব্যবহারের ডেটাটাইপস" হিসাবে গণ্য হবে?
এরিক আউটগল্ফার

উভয় বিন্যাস ঠিক আছে।
সিজি

0

Clojure, 67 বাইট

#(loop[c[%]i %2](if(= i 0)c(recur(into c(reductions + c))(dec i))))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.