তালিকাগুলি এবং অ্যারে, অংশবিশেষ


14

এই চ্যালেঞ্জের মধ্যে, আপনি চারটি ভিন্ন তবে কিছুটা সম্পর্কিত কাজগুলি পাবেন যা একটি নির্দিষ্ট পদ্ধতিতে সমাধান করতে হবে। প্রথমে আমি কাজগুলি ব্যাখ্যা করব, তারপরে আপনাকে কীভাবে এটি সমাধান করতে হবে তার একটি ব্যাখ্যা অনুসরণ করুন।

আপনার কোড জন্য চারটি কর্ম ইনপুট হিসাবে দুই ধনাত্মক পূর্ণসংখ্যা হওয়া উচিত: n,mযেখানে n<m। সমস্ত কাজ একই ভাষায় সমাধান করতে হবে। ম্যাট্রিক্সের অরিয়েন্টেশনটি alচ্ছিক (এন-বাই-এম "" এন সারি, এম কলাম "বা" এন কলাম, এম সারি "হিসাবে ব্যাখ্যা করা যেতে পারে)।

কার্যক্রম 1:

তৈরি করুন (এবং আউটপুট / মুদ্রণ) একটি ভেক্টর / উপাদানের গঠিত তালিকা: n, n+1 ... m-1, m। সুতরাং, জন্য n=4, m=9, আপনি আউটপুট উচিত: 4,5,6,7,8,9

কার্য 2:

এর মতো দেখতে ম্যাট্রিক্স / অ্যারে / তালিকার তালিকা (বা সমমান) তৈরি করুন (এবং আউটপুট / মুদ্রণ):

n,   n+1, ... m-1, m
n+1, n+2, ... m-1, m+1
...
n+m, n+m+1, ... 2*m-1, 2*m

জন্য n=4, m=9আপনি আউটপুট উচিত:

4, 5, 6, 7, 8, 9
5, 6, 7, 8, 9, 10
...
13, 14, 15, 16, 17, 18

কার্য 3:

একটি এন-বাই-এম গুণক টেবিল তৈরি করুন (এবং আউটপুট / মুদ্রণ) (যে কোনও উপযুক্ত বিন্যাসে)। উদাহরণস্বরূপ n=4, m=9:

1   2   3  4
2   4   6  8
3   6   9  12
4   8  12  16
5  10  15  20
6  12  18  24
7  14  21  28
8  16  24  32
9  18  27  36

কাজ 4:

টাস্ক 3 থেকে গুণ গুণ টেবিলের উপাদানগুলির সমন্বয়ে একটি ভেক্টর / তালিকা আউটপুট / মুদ্রণ করুন, বর্ধিত ক্রমে সাজানো, সদৃশ মান রেখে। জন্য n=4, m=9, আপনি আউটপুট উচিত: 1, 2, 2, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 8, 8, 8, 9, 9, 10, 12, 12, 12, 14, 15, 16, 16, 18, 18, 20, 21, 24, 24, 27, 28, 32, 36

চ্যালেঞ্জ:

এখন, উপরের সমস্ত কাজগুলি বেশ তুচ্ছ। এখানে আসল চ্যালেঞ্জটি হ'ল টাস্ক 2 এর কোডটি টাস্ক 1 এর কোড দিয়ে শুরু করতে হবে, টাস্ক 3 এর কোডটি অবশ্যই টাস্ক 2 এর কোড দিয়ে শুরু করতে হবে এবং টাস্ক 4 এর কোডটি অবশ্যই টাস্ক 3 এর কোড দিয়ে শুরু করতে হবে।

এটি আরও স্পষ্ট করতে:

ধরুন টাস্ক 1 এর কোডটি (অক্টাভেতে কাজ করে):

@(n,m)(n:m)

তাহলে টাস্ক 2 এর জন্য আপনার কোড হতে পারে (অক্টাভেতে কাজ করে):

@(n,m)(n:m)+(0:m)'

টাস্ক 3 কার্যের কোডটি অবশ্যই (অষ্টাভে কাজ করে না):

@(n,m)(n:m)+(0:m)'"Code_for_task_3"

এবং অবশেষে, টাস্ক 4 এর কোডটি অবশ্যই (অষ্টাভে কাজ করে না):

@(n,m)(n:m)+(0:m)'"Code_for_task_3""Code_for_task_4"

এটি , সুতরাং প্রতিটি ভাষার 4 টাস্কের জন্য সংক্ষিপ্ত কোডের সাথে জমা দেওয়া জেতে। সর্বদা হিসাবে: ব্যাখ্যা অত্যন্ত উত্সাহিত হয়।


কেবল স্পষ্ট করে বলতে গেলে, আমি অনুমান করতে যাচ্ছি যে এটি চ্যালেঞ্জের চেতনাবিরোধী, তবে পরবর্তী কার্যটির কোডটি এসটিডিআরআরকে পুনঃনির্দেশ দিয়ে শুরু করা জায়েয >2;যাতে পূর্ববর্তী টাস্কের কোডটি মূলত কোনও অপ-রেন্ডার হয়?
অ্যাডমবর্কবার্ক

1
@ অ্যাডমবর্কবার্ক, পিপিসিজে "চ্যালেঞ্জের চেতনা" বলে কিছু নেই: পি হ্যাঁ, এটি ঠিক আছে
স্টিভি গ্রিফিন

গুণটির টেবিলটি কী সুন্দরভাবে প্যাড করা দরকার?
হাইপারনিউটারিনো

1
@ হাইপারনিউটারিনো, না।
স্টিভি গ্রিফিন

আপনি যখন "ইতিবাচক পূর্ণসংখ্যা" বলবেন, আপনার অর্থ 0<n<mবা না 0<=n<m?
মূল্য কালি

উত্তর:


6

জেলি , 12 বাইট

কার্যক্রম 1

r

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

টাস্ক 2

r+þ0r$}

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

কার্য 3

r+þ0r$}
×þ

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

টাস্ক 4

r+þ0r$}
×þFṢ

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

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

কার্যক্রম 1

rহ'ল ডায়াডিক রেঞ্জের পরমাণু এবং কার্যটি যা অনুরোধ করে ঠিক তা করে

টাস্ক 2

একটি ডায়াডিক চেইন যা তিনটি ডায়ডিক লিঙ্ক দিয়ে শুরু হয় একটি কাঁটাচামচ ; বাহ্যিক লিঙ্কগুলি প্রথমে মূল্যায়ন করা হয়, তারপরে মাঝের লিঙ্কটিকে উভয় পক্ষের ফলাফলের সাথে যুক্তি হিসাবে ডাকা হয়।

  • r[এন,…, মি] ফলন হিসাবে আগের মত আচরণ করে ।

  • 0r$} একটি দ্রুত লিঙ্ক (বা কুইকউইকলিঙ্ক, যদি আপনি চান)।

    দ্রুত $(মোনাডিচ চেইন) লিঙ্কগুলি 0(ফলন 0 ) এবং r(ডায়াডিক পরিসর) গ্রাস করে এবং এগুলিকে একটি মোনাডিক চেইনে রূপান্তরিত করে। আর্গুমেন্ট কে দিয়ে ডাকা হলে , এটি [0,…, কে] উপার্জন করবে ।

    দ্রুত }(ডান যুক্তি) তৈরি $করা কুইল লিঙ্কটি নেয় এবং এটিকে একটি ডায়াডিক লিঙ্কে পরিণত করে যা ডান যুক্তির 0r$সাহায্যে কল করে 0r$}

    0r$}বাম আর্গুমেন্ট এন এবং ডান আর্গুমেন্ট এম এর সাথে ডাকা হবে , সুতরাং এম এবং 0r$আর্গুমেন্টের সাথে জড়িত [0,…, মি]

  • অন্য কুইল লিঙ্ক। þ(সারণী) +তার বাম আর্গুমেন্টের প্রতিটি উপাদান এবং ডান যুক্তিতে যে কোনও উপাদান জন্য কল করবে (সংযোজন), প্রতিটি ডান আর্গুমেন্টের জন্য ফলাফলকে একক সারিতে বিভক্ত করে।

    বাম আর্গুমেন্ট [এন,…, মি] এবং ডান যুক্তি [0,…, মি] দিয়ে ডাকা হবে , পছন্দসই টেবিলটি প্রদান করবে।

কার্য 3

জেলি প্রোগ্রামের প্রতিটি লাইন একটি আলাদা লিঙ্ক সংজ্ঞায়িত করে। শেষেরটি মূল লিঙ্ক এবং সি এর mainফাংশনের মতো একমাত্র লিঙ্ক যা ডিফল্টরূপে কার্যকর করা হয়। বাকি লিঙ্কগুলি মূল লিঙ্ক থেকে কল করা যেতে পারে, তবে আমরা এখানে এটি করব না।

আগের মতো, þ(সারণী) ×তার বাম আর্গুমেন্টের প্রতিটি উপাদান এবং তার ডান যুক্তিতে যে কোনও উপাদানকে কল করবে (সংযোজন), প্রতিটি ডান যুক্তির ফলাফলকে একক সারিতে ভাগ করে দেবে ing

যেহেতু উভয় আর্গুমেন্ট ×þপূর্ণসংখ্যা, þ, রেঞ্জ তাদের কাস্ট আর্গুমেন্ট রূপান্তর এন এবং মি মধ্যে [1, ..., এন] এবং [1, ..., মি]

টাস্ক 4

×þআগের মত কাজ করে নিম্নলিখিত লিঙ্ক পরমাণুসদৃশ্য হয়, যার ফলে সেগুলি atops , অর্থাত তারা আগের বেশী উপরে প্রয়োগ করা হয়েছে।

নির্বাহের পরে ×þ, Fফলাফল 2D অ্যারে সমতল করে এবং ফলাফল 1D অ্যারে বাছাই করে।


5

05 এ বি 1 ই , 18 17 বাইট

কার্যক্রম 1

Ÿ

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

টাস্ক 2

Ÿ²FD>})

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

কার্য 3

Ÿ²FD>})v¹LN*})¦

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

টাস্ক 4

Ÿ²FD>})v¹LN*})¦˜{

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

ব্যাখ্যা

কার্যক্রম 1

Ÿ     # range[n ... m]

টাস্ক 2

Ÿ        # range[n ... m]
 ²F      # m times do:
   D     # duplicate
    >    # increment
     }   # end loop
      )  # wrap in list

কার্য 3

v          # for each list in result of Task 2 do
 ¹L        # push range[1 ... n]
   N*      # multiply by index
     }     # end loop
      )    # wrap in list
       ¦   # discard first element

টাস্ক 4

˜          # flatten the result from Task 3
 {         # sort

3

এমএটিএল , 18 17 বাইট

কার্যক্রম 1

&:

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

টাস্ক 2

&:O2G:h!+

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

কার্য 3

&:O2G:h!+:7M!*

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

টাস্ক 4

&:O2G:h!+:7M!*1eS

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

ব্যাখ্যা

কার্যক্রম 1

&:    % Binary range [n n+1 ... m] from implicit inputs n, m

টাস্ক 2

      % ... Stack contains [n n+1 ... m]
O     % Push 0
2G    % Push second input, m
:     % Unary range: gives [1 2 ... m]
h     % Concatenate horizontally: gives [0 1 2 ... m]
!     % Transpose into a column vector
+     % Add with broadcast

কার্য 3

      % ... Stack contains matrix from task 2
:     % Unary range. For matrix input it uses its (1,1) entry. So this gives [1 2 ... n]
7M    % Push [1 2 ... m] again
!     % Transpose into a column vector
*     % Multiply with broadcast

টাস্ক 4

      % ... Stack contains matrix from task 3
1e    % Linearize into a row vector
S     % Sort

3

গণিত, 84 77 বাইট

সম্পাদনা করুন: 7 বাইট সংরক্ষণের জন্য মার্টিন ইন্ডারকে ধন্যবাদ

কার্যক্রম 1:

{n,m}n~Range~m

Functionআর্গুমেন্ট nএবং mযা ফলাফল আউটপুট n~Range~m, এর infix ফর্ম সঙ্গে বিশুদ্ধ Range[n,m]

কার্য 2:

{n,m}n~Range~m~Table~(m+1)//0~Range~m+#&

n~Range~m~Table~(m+1)m+1সারিগুলির সাথে একটি 2D অ্যারে তৈরি করে , যেখানে প্রতিটি সারিটি পূর্ববর্তী কার্যের আউটপুট। তারপরে //0~Range~m+#&ফাংশনটির পোস্টফিক্স অ্যাপ্লিকেশনটি 0~Range~m+#&কার্যকরভাবে 0প্রথম সারিতে, 1দ্বিতীয় সারিতে যোগ করে এবং তাই তৃতীয় সারির mজন্য m+1

কার্য 3:

{n,m}n~Range~m~Table~(m+1)//0~Range~m+#&//1##&~Array~{n,m}&

এটি কেবল 1##&~Array~{n,m}&পূর্ববর্তী কার্যের আউটপুটটিতে ধ্রুবক ফাংশন প্রয়োগ করে ।

কাজ 4:

{n,m}n~Range~m~Table~(m+1)//0~Range~m+#&//1##&~Array~{n,m}&//Flatten//Sort

Flattens এবং Sorts এর গুণক টেবিল।


2

পাইথন, 183 বাইট

টাস্ক 1, 29 বাইট

r=range
a=lambda n,m:r(n,m+1)

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

টাস্ক 2, 84 বাইট

r=range
a=lambda n,m:r(n,m+1)
s=lambda n,m:[[w+i for w in r(n,m)] for i in a(0,m+1)]

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

কার্য 3, 137 বাইট

r=range
a=lambda n,m:r(n,m+1)
s=lambda n,m:[[w+i for w in r(n,m)] for i in a(0,m+1)]
d=lambda n,m:[[w*i for w in a(1,n)] for i in a(1,m)]

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

টাস্ক 4, 183 167 বাইট

r=range
a=lambda n,m:r(n,m+1)
s=lambda n,m:[[w+i for w in r(n,m)] for i in a(0,m+1)]
d=lambda n,m:[[w*i for w in a(1,n)] for i in a(1,m)]
f=lambda(z):sorted(sum(z,[]))

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

ব্যাখ্যা:

কার্যক্রম 1:

যথেষ্ট সহজ, এটি পাইথনের অন্তর্নির্মিত ফাংশনটি ব্যবহার করে তালিকার nজন্য একটি উত্পন্ন mকরে range

কার্য 2:

প্রতিটি সংখ্যার 0জন্য m+1, এটি থেকে প্রতিটি তালিকার প্রতিটি আইটেমে এই সংখ্যাটি যুক্ত nকরে m

কার্য 3:

প্রতিটি সংখ্যা থেকে 1থেকে m, দ্বিগুণ থেকে একটি তালিকা প্রতিটি সংখ্যা দ্বারা সংখ্যা 1থেকে n

কাজ 4:

এটি পাইথনের অন্তর্নির্মিত sortedফাংশন ব্যবহার করে যা কমপক্ষে থেকে বৃহত্তর একটি তালিকা সাজায়। ফাংশনটিতে তালিকাটি বোঝার জন্য তালিকাটি সমতল করতে ব্যবহৃত হয়। এটি টাস্ক 3 দ্বারা প্রদত্ত তালিকার প্রতিটি আইটেমের প্রতিটি আইটেমের একটি তালিকা তৈরি করে।

  • @ গণ_জুনকিকে ধন্যবাদ দিয়ে অনেকগুলি বাইট সংরক্ষণ করা হয়েছে।
  • @ থিসগুইয়ের জন্য 16 বাইট সংরক্ষণ করা হয়েছে

@ গণ_জুনকিকে ধন্যবাদ দিয়ে অনেকগুলি বাইট সংরক্ষণ করা হয়েছে।


আপনি কি বেনামে ফাংশন ব্যবহার করতে পারবেন না বা ল্যাম্বডাস আসলে খাটো নয়? (আমার গণনা অনুসারে এটি তারা মনে হয়)
কোল

পাইথন asnwers জন্য এটি কি সাধারণত গ্রহণযোগ্য? উদাহরণস্বরূপ, টাস্ক 2 এর কোডটি ইনপুট এবং আউটপুট সহ একটি সম্পূর্ণ প্রোগ্রাম নয় এবং এটি কোনও ফাংশন বা ফাংশন সংজ্ঞাও নয়।
নেজেনিসিস

@ কোল আমাকে অ-বেনামে ফাংশন ব্যবহার করতে হয়েছিল যাতে আমি পরে কোডগুলিতে সেগুলি ব্যবহার করতে পারি।
কমরেড স্পার্কলপনি

@ এনজিনিসিস আমি মনে করি এটি ঠিক আছে, কারণ ওপি বলেছে যে টাস্ক 2 এর কোডটি টাস্ক 1 এর কোড দিয়ে শুরু করা উচিত, এবং টাস্ক 2 এর কোডটি def s(n,m):return [[w+i for w in r(n,m)] for i in a(0,m+1)], একটি সম্পূর্ণ ফাংশন যখন টাস্ক 1 এর কোডটি সংজ্ঞায়িত করা হয়।
কমরেড স্পার্কলপনি

আপনি যেমন কিছু করতে পারেন a=lambda n,m:... প্রতিটি ফাংশন সংজ্ঞা জন্য । অজ্ঞাতনামা ফাংশন অজগর থেকে সর্বদা সংক্ষিপ্ত হয়
গণিত জাঙ্কি

2

পিএইচপি 7, 200 বাইট

পূর্ববর্তী আউটপুট সাফ করতে আউটপুট বাফার ব্যবহার করে।

কার্যক্রম 1

[,$n,$m]=$argv;ob_start();eval($s='echo join(" ",$v?:range($n+$i,$m+$i)),"
";');

কোডটি $sপরে এটি পুনরায় ব্যবহার করতে সংরক্ষণ করে । $vপরিবর্তনশীল গত কাজের জন্য নয়।

টাস্ক 2

[,$n,$m]=$argv;ob_start();eval($s='echo join(" ",$v?:range($n+$i,$m+$i)),"
";');for(;++$i<=$m;)eval($s);

বাকি লাইনগুলি মুদ্রণ করে।

কার্য 3

[,$n,$m]=$argv;ob_start();eval($s='echo join(" ",$v?:range($n+$i,$m+$i)),"
";');for(;++$i<=$m;)eval($s);for(($c=ob_clean)();++$j<=$m;print"
")for(;++$$j<=$n;sort($v))echo$v[]=$j*$$j,' ';

আউটপুট বাফার সাফ করে এবং সংখ্যাটি সংরক্ষণ করে গুণক টেবিলটি মুদ্রণ করে $v

টাস্ক 4

[,$n,$m]=$argv;ob_start();eval($s='echo join(" ",$v?:range($n+$i,$m+$i)),"
";');for(;++$i<=$m;)eval($s);for(($c=ob_clean)();++$j<=$m;print"
")for(;++$$j<=$n;sort($v))echo$v[]=$j*$$j,' ';$c();eval($s);

আবার আউটপুট বাফার সাফ করে এবং মুদ্রণ করে $v


1

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

কার্যক্রম 1

param($n,$m)$n..$m

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

..অন্তর্নির্মিত পরিসীমা অপারেটর ব্যবহার করে । অন্তর্নিহিতদের জন্য ডিফল্ট আচরণ Write-Outputউপাদানগুলির মধ্যে একটি নতুন লাইন সন্নিবেশ করায় তাই আউটপুটটিকে নতুন লাইন পৃথক করা হিসাবে দেখায়।


টাস্ক 2

param($n,$m)$n..$m>2;0..$m|%{$i=$_;($n..$m|%{$_+$i})-join','}

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

Stderr প্রথম কাজে ডাম্প >2;, তারপর থেকে loops 0জন্য $m, প্রতিটি পুনরাবৃত্তির সেটিং সাহায্যকারী $iথেকে আবার লুপিং সামনে $nথেকে $mএবং প্রতিটি সংখ্যা বৃদ্ধিশীল $i। ঐগুলি-join কমা দিয়ে একসাথে সম্পাদনা করা হয়, অন্যথায় এটি একটি দ্বি-দ্বন্দ্বপূর্ণ বিশাল দৈর্ঘ্য এক-উপাদান-প্রতি-লাইন আউটপুট হবে।


কার্য 3

param($n,$m)$n..$m>2;0..$m|%{$i=$_;($n..$m|%{$_+$i})-join','}>2;(1..$m|%{$i=$_;(1..$n|%{$_*$i})-join' '})

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

একই ধরণের জিনিসটি >2;STDERR এ আগের ডাম্প করা। তারপর আমরা কেবল ডাবল লুপ থেকে 1থেকে $mতারপর 1থেকে $n, সাহায্যকারী সেটিং $iপথ ধরে, গুন করা ভ্যালু ও -joinএকটি স্পেস দিয়ে এটা ট্যাবুলার করা। এনক্যাপসুলেটিং প্যারেনগুলি নোট করুন - তারা পরবর্তী কাজটি খেলতে আসবে - তবে এখানে তারা কেবল নিশ্চিত করে যে আউটপুটটি পাইপলাইনে রাখা হয়েছে (যা এটি ইতিমধ্যে হবে, তাই তারা অপ্রয়োজনীয়)।


টাস্ক 4

param($n,$m)$n..$m>2;0..$m|%{$i=$_;($n..$m|%{$_+$i})-join','}>2;(1..$m|%{$i=$_;(1..$n|%{$_*$i})-join' '})-split' '|%{+$_}|sort

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

আহা! অবশেষে কিছু বাড়াবাড়ি। যেহেতু পূর্ববর্তী টাস্কটির প্যারেনস রয়েছে, তাই আমরা -splitকোনও চিন্তার ছাড়াই হোয়াইটস্পেসে নজর রাখতে পারি , প্রতিটিকে একটি পূর্ণসংখ্যার জন্য কাস্ট করতে পারি |%{+$_}এবং তারপরেও |sort। আউটপুট আবার নতুন লাইন পৃথক।


আমি মনে করি যে কাজের মধ্যে অপ্রয়োজনীয়তার উন্নতি করার আরও কিছু উপায় রয়েছে - এটি এখনও কিছুটা গল্ফ করে।


1

ES2016-ish, 401 384 অক্ষর

এখানে প্রথম চেষ্টা করুন। আমি নিশ্চিত যে এটি কিছুটা ঘনীভূত হতে পারে তবে এটি খুব ছোট। তীর ফাংশন এফটিডব্লিউ! (এই অন্তর্নিহিত রিটার্নের বিবৃতিগুলি ভালবাসুন)) টেমপ্লেট স্ট্রিং সহ নতুন এবং উন্নত!

কার্যক্রম 1

var a=Array,l=console.log,f=(n,m)=>a.from(a(1+m-n),(w,i)=>n+i),z=(n,m)=>l(f(n,m).join`, `)

কল z(n,m)লগ আউটপুট জন্য । (আমি পরে গল্ফের জন্য কনসোল.লগকে আলিয়াস করছি)

টাস্ক 2

দ্বিতীয় শ্লোক ... প্রথম প্রসারিত।

var a=Array,l=console.log,f=(n,m)=>a.from(a(1+m-n),(w,i)=>n+i),z=(n,m)=>l(f(n,m).join`, `),p,o,g=(n,m)=>{p=n,o=m;return [...a(m+1).keys()].map((d)=>f(d+p,d+o))},y=(n,m)=>l(g(n,m).join`\n`

এখন কল y(n,m) । বেশ, না?

কার্য 3

বিদ্যমান কার্যকারিতা সর্বাধিক বাইপাস করতে হবে <sadface />

var a=Array,l=console.log,f=(n,m)=>a.from(a(1+m-n),(w,i)=>n+i),z=(n,m)=>l(f(n,m).join`, `),p,o,g=(n,m)=>{p=n,o=m;return [...a(m+1).keys()].map((d)=>f(d+p,d+o))},y=(n,m)=>l(g(n,m).join`\n`,h=(n,m)=>[...a(m).keys()].map((d)=>(d+1)*n).join`\t`,i=(n,m)=>[...a(n).keys()].map((d)=>h((d+1),m)),v=(n,m)=>i(n,m).join`\n`

এখন পদ্ধতির নাম v । এটি একইভাবে কল করুন।

টাস্ক 4

এবং এখন আমরা আবার ব্যবহার করতে পারি।

var a=Array,l=console.log,f=(n,m)=>a.from(a(1+m-n),(w,i)=>n+i),z=(n,m)=>l(f(n,m).join`, `),p,o,g=(n,m)=>{p=n,o=m;return [...a(m+1).keys()].map((d)=>f(d+p,d+o))},y=(n,m)=>l(g(n,m).join`\n`,h=(n,m)=>[...a(m).keys()].map((d)=>(d+1)*n).join`\t`,i=(n,m)=>[...a(n).keys()].map((d)=>h((d+1),m)),v=(n,m)=>i(n,m).join`\n`,t=(n,m)=>l(v(n,m).match(/\d+/g).sort((a,b)=>+a>+b||+(a===b)*2-1).join(`, `)

uআমার পদ্ধতিটি এড়িয়ে যেতে হয়েছিল, তাই এটি t। ধাক্কা খেয়েছে যে আমাকে এই সাজানোর ক্রিয়াকলাপটি করতে হয়েছিল, কারণ String.match... স্ট্রিং হিসাবে ফেরতের মানগুলি।


0

রুবি, 121 103 বাইট

রুবিতে সমস্ত কিছুই সত্যবাদী nilএবং ব্যতীত false, এর অর্থ হ'ল পূর্বের ইনপুটটিকে কিছু বাদ দিয়ে উপস্থাপনের জন্য কার্যগুলি সেট আপ করা যেতে পারে তবে একটি ভাল স্থানযুক্ত and/ &&

কার্যক্রম 1

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

n,m=$*.map &:to_i
p [*n..m]

টাস্ক 2

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

n,m=$*.map &:to_i
p [*n..m]&&(0..m).map{|i|[*n+i..m+i]}

কার্য 3

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

n,m=$*.map &:to_i
p [*n..m]&&(0..m).map{|i|[*n+i..m+i]}&&(1..m).map{|i|(1..n).map{|j|i*j}}

টাস্ক 4

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

n,m=$*.map &:to_i
p [*n..m]&&(0..m).map{|i|[*n+i..m+i]}&&(1..m).map{|i|(1..n).map{|j|i*j}}.flatten.sort
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.