এন-মাত্রিক পরিচয় "ম্যাট্রিক্স"


30

একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া n, আউটপুট N-dimensional পরিচয় "ম্যাট্রিক্স", যা N^Nদিয়ে অ্যারের 1যেখানে সব সূচকের উপাদান সমান এবং হয় 0অন্যথায়। N^Nমানে এন-বাই-এন-বাই-এন-বাই -...

1 -> [1]

2 -> [[1,0],[0,1]]

3 -> [[[1,0,0],[0,0,0],[0,0,0]],[[0,0,0],[0,1,0],[0,0,0]],[[0,0,0],[0,0,0],[0,0,1]]]

4 -> [[[[1,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,1,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,1]]]]

উদাহরণস্বরূপ, যদি aহয় 4-dimensional পরিচয় "ম্যাট্রিক্স", তারপরে একমাত্র এন্ট্রি 1হবে a[0][0][0][0], a[1][1][1][1], a[2][2][2][2], এবং a[3][3][3][3]

এটি । বাইট জিতে সংক্ষিপ্ত উত্তর। স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।



11
এখানে একটি বিল্টিন আপনার জন্য এটির সাথে এমএটিএল উত্তরটি আসবে ...
শে

উত্তর:



9

জেলি , 8 বাইট

×=¥þ’¡`Ṡ

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

ওহ, দেখে মনে হচ্ছে আমি আবার ডেনিসকে তার নিজের ভাষায় আউটগল্ফ করতে যাচ্ছি :-)

এটি একটি 1-আর্গুমেন্ট ফাংশন (কারণ জেলির নেস্টেড তালিকার জন্য ডিফল্ট আউটপুট ফর্ম্যাটটি কিছুটা অস্পষ্ট, যার অর্থ এটি পুরোপুরি প্রোগ্রাম হিসাবে তর্কসাপেক্ষভাবে পরিপূর্ণতা পূরণ করে না)।

ব্যাখ্যা

×=¥þ’¡`Ṡ
     ¡    Repeatedly apply the following operation,
    ’     {input-1} times in total:
   þ        For each element of the current value {perhaps made into a range}
      `     and of {the range from 1 to the} {input}:
 =            Compare corresponding elements, giving 0 for equal or 1 for unequal
× ¥           then multiply by one of the elements
       Ṡ  then replace each element with its sign

এটি বোঝার জন্য, এটি মধ্যবর্তী পদক্ষেপগুলি দেখতে সহায়তা করে। 3 এর ইনপুট জন্য, আমরা নিম্নলিখিত মধ্যবর্তী পদক্ষেপ পেতে:

  1. [1,2,3](ইনপুট, দ্বারা স্পষ্টভাবে একটি পরিসীমা তৈরি þ)
  2. [[1,0,0],[0,2,0],[0,0,3]]( [1,2,3]সমতা পাওয়ার জন্য তুলনা করে একটি সারণী তৈরি করুন [[1,0,0],[0,1,0],[0,0,1]], তারপরে আমরা যে মানগুলি তুলনা করি তার মধ্যে একটি দিয়ে গুণ করুন)
  3. [[[1,0,0],[0,0,0],[0,0,0]],[[0,0,0],[0,2,0],[0,0,0]],[[0,0,0],[0,0,0],[0,0,3]]] (আবার একই ধারণা)
  4. [[[1,0,0],[0,0,0],[0,0,0]],[[0,0,0],[0,1,0],[0,0,0]],[[0,0,0],[0,0,0],[0,0,1]]](প্রতিটি উপাদানকে এর চিহ্ন দিয়ে ব্যবহার করে প্রতিস্থাপন করুন )

এই তথ্যটি লক্ষ করুন যে ইনপুটটি 1-মাত্রিকের সাথে শুরু হয় যার অর্থ একটি ইনপুট-মাত্রিক তালিকা তৈরি করে (ইনপুট -1) মাত্রা যুক্ত করতে আমাদের লুপ (ইনপুট -1) বার করতে হবে।

মজাদার ঘটনা: এই প্রোগ্রামটিতে পরপর পাঁচটি কুইক রয়েছে ¥þ’¡`,। (একটি কুইক একটি "লিঙ্ক", বা বিল্টিনের পরিবর্তক, এটির আচরণটি সংশোধন করতে বা অন্য লিঙ্কের সাথে সংযুক্ত করতে ব্যবহৃত হয় is)


+ !, জেলিতে আপনি ডেনিসকে হারিয়েছিলেন বলেই!
জাকারি

7

গণিত, 30 বাইট

Array[Boole@*Equal,#~Table~#]&

1
@ ফ্রাইআমএইজিগম্যানকে দ্বিতীয় যুক্তি হিসাবে একটি পূর্ণসংখ্যা পরামিতি Tableসাম্প্রতিক সংযোজন। গণিতের এখনও সেখানে একটি একক তালিকার দরকার: tio.run/##y00 psychMLv7
মার্টিন

1
@ ফ্রাইআম দ্য এজম্যান দেখে মনে হচ্ছে ম্যাথিক্সে Array[Boole@*Equal,#~Table~{#}]&কাজ করার জন্য আপনার এটিকে পরিবর্তন করা দরকার। ম্যাথামেটিকার পুরানো সংস্করণগুলি দ্বিতীয় যুক্তির হিসাবে কোনও পূর্ণসংখ্যাকে সমর্থন করে না Tableএবং আমি অনুমান করি যে ম্যাথিক্স এর ভিত্তিতে তৈরি।
নেজেনিসিস

1
@ মার্টিনএন্ডার পিঞ্চ, ঝাঁকুনি, আপনি আমার কাছে কোক :)
নেজেনিসিস

6

এপিএল (ডায়ালগ) , 10 বাইট

1=≢∘∪¨⍳⍴⍨⎕

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

1= [সমান] 1 সমান

 সংখ্যা

 এর

 অনন্য উপাদান

¨ প্রতিটি

 মাত্রাগুলি সহ একটি অ্যারে সূচকগুলি

⍴⍨ স্ব-পুনর্নির্মাণ ( এন কপি এন ) এর

 ইনপুট ( এন ) [?]


5

জেলি , 9 বাইট

ðṗE€ṁ+þ’¡

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

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

সরাসরি কাজটি অর্জন করা কঠিন বলে মনে হচ্ছে (আমি কোনও উপায় খুঁজে পাইনি) তবে একই সংখ্যার অ্যারে এবং একই আকারের অ্যারেগুলি গঠন করা বেশ সহজ।

ðচেইনকে ডায়াডিক করে তোলে এবং পূর্ণসংখ্যা ইনপুট এন চেইনের জন্য বাম এবং ডান উভয় যুক্তি হিসাবে কাজ করে। পরিবর্তে একটি monadic চেইন ব্যবহার করা সম্ভব, কিন্তু dyadic জন্য পার্সিং নিয়ম এখানে তিন বাইট সংরক্ষণð )।

কার্টিজিয়ান ক্ষমতা পরমাণু , বাম এবং ডান যুক্তি সঙ্গে সমান এন , দৈর্ঘ্য সব ভেক্টর অ্যারের নির্মান এন যে উপাদান দ্বারা গঠিত [1, ..., এন] , lexicographically সাজানো।

যখন এন = 3 , এটি ফলন করে

[[1, 1, 1], [1, 1, 2], [1, 1, 3], [1, 2, 1], [1, 2, 2], [1, 2, 3], [1, 3, 1], [1, 3, 2], [1, 3, 3], [2, 1, 1], [2, 1, 2], [2, 1, 3], [2, 2, 1], [2, 2, 2], [2, 2, 3], [2, 3, 1], [2, 3, 2], [2, 3, 3], [3, 1, 1], [3, 1, 2], [3, 1, 3], [3, 2, 1], [3, 2, 2], [3, 2, 3], [3, 3, 1], [3, 3, 2], [3, 3, 3]]

সমান প্রতিটি quicklink E€সমতার জন্য সব নির্মাণ ভেক্টর উপাদান পরীক্ষা।

যখন এন = 3 , আমরা পাই

[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]

যা ফ্ল্যাট অ্যারেতে ত্রি-মাত্রিক পরিচয় ম্যাট্রিক্সের উপাদান।

Dyadic quicklink +þ’¡বাম যুক্তি এবং ডান আর্গুমেন্ট সহ বলা হয় এন । দ্রুত ¡হ্রাস পরমাণু আহ্বান , যা উৎপাদনের এন -1 , তারপর কল অ্যাড টেবিল quicklink এন -1 বার।

প্রাথমিকভাবে, এর যুক্তি দুটিই এন । প্রতিটি কলের পরে, ডান আর্গুমেন্টটি একটি বাম দ্বারা প্রতিস্থাপন করা হয়, এবং বামটি কলটির রিটার্ন মান দ্বারা প্রতিস্থাপিত হয়।

টেবিল দ্রুত কল অ্যাড পরমাণু +তার বাম যুক্তি প্রতিটি উপাদান এবং তার ডান যুক্তির প্রতিটি উপাদান, ফেরত মান একটি সারণী / ম্যাট্রিক্স নির্মাণের জন্য। প্রাথমিক পূর্ণসংখ্যার যুক্তিগুলি এন ব্যাপ্তিতে উন্নীত হয় [1, ... n]

যখন এন = 3 , প্রচারের পরে তবে প্রথম পুনরাবৃত্তির আগে, উভয় যুক্তিই হয়

[1, 2, 3]

এই অ্যারেতে প্রতিটি পূর্ণসংখ্যার সাথে এই অ্যারেতে প্রতিটি পূর্ণসংখ্যা যুক্ত করা হয়

[[2, 3, 4], [3, 4, 5], [4, 5, 6]]

পরবর্তী অনুরোধে, আমরা [1, 2, 3] এর পূর্ণসংখ্যার সাথে এই অ্যারেগুলির প্রত্যেকটি যুক্ত করি । সংযোজন ভেক্টরাইজ করে (একটি অ্যারেতে একটি পূর্ণসংখ্যা যোগ করে এটি প্রতিটি উপাদানকে যুক্ত করে), তাই আমরা পাই

[[[3, 4, 5], [4, 5, 6], [5, 6, 7]],
 [[4, 5, 6], [5, 6, 7], [6, 7, 8]],
 [[5, 6, 7], [6, 7, 8], [7, 8, 9]]]

এই অ্যারেটির ত্রি-মাত্রিক পরিচয় ম্যাট্রিক্সের মতো আকৃতি রয়েছে তবে সঠিক উপাদান নয়।

অবশেষে, ছাঁচের পরমাণু ফলাফলের পূর্ণসংখ্যার এন্ট্রিগুলি ডানদিকে বিচ্ছিন্ন করে এবং ফলাফলের সাথে বাম দিকে উপাদানগুলির সাথে তাদের প্রতিস্থাপন করে।


4

পাইথন , 70 বাইট

f=lambda n,l=[]:[f(n,l+[i])for i in(len(l)<n)*range(n)]or+(l==l[:1]*n)

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

একটি পুনরাবৃত্তি সমাধান। ম্যাট্রিক্সকে ম্যাট্রিক্সের একটি মাত্রা আরও ছোট মাত্রার তালিকা হিসাবে ভাবাতে গাছের নীচে যাওয়ার জন্য সেই তালিকাটি পুনরাবৃত্তি করে। এটি নির্বাচিত সূচকগুলি মনে রাখে এবং সূচিগুলি lযখন বাছাই করা হয় , তখন nআমরা একটি বরাদ্দ করি 1বা 0সেগুলি সমস্ত একই হয় কিনা তার উপর নির্ভর করে।


পাইথন 2 , 73 বাইট

n=input();r=0
exec'r=eval(`[r]*n`);'*n+('n-=1;r'+'[n]'*n+'=1;')*n
print r

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

শূন্যের ম্যাট্রিক্স তৈরির এবং তারপর তির্যকটিতে নির্ধারিত করার ক্ষেত্রে সম্পূর্ণরূপে মানুষের পদ্ধতির উন্নতি ।


পাইথন 2 , 88 বাইট

n=input()
t=tuple(range(n))
print eval('['*n+'+(i0'+'==i%d'*n%t+')'+'for i%d in t]'*n%t)

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

evalনেস্টেড তালিকা তৈরি করে স্ট্রিং-ফর্ম্যাট প্রতিস্থাপনের সাথে কিছু বাজে কথা । মূল্যায়ন করা স্ট্রিংটি দেখে মনে হচ্ছে:

[[[+(i0==i0==i1==i2)for i0 in t]for i1 in t]for i2 in t]

4

পাইথন 2 + নুমপি , 80 72 70 বাইট

এবার শীর্ষে পাইথনের উত্তর দিয়ে বাঁধা!

from numpy import*
n=input()
a=zeros((n,)*n)
a[[range(n)]*n]=1
print a

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

8 টি বাইটস আন্দ্রেস ডেকে ধন্যবাদ এবং 2 অফিএলাইম দ্বারা সংরক্ষণ করা


2
অভিনব সূচকের ব্যবহার করুন: a[[range(n)]*n]=1আপনার এক্সিকিউটির পরিবর্তে।
আন্দ্রেস ডেক

( fill_diagonal(a,1)এই উদ্দেশ্যে আসলে রয়েছে , তবে এটি আরও এক বাইট)
আন্দ্রেস ডেক

1
সুন্দর আউটপুট জন্য +1। এবং, আমি ভেরিয়েবলের ব্যবহার দেখতে পাচ্ছি না i, এটি 2 বাইট সংরক্ষণ করতে পারে।
অফিসিয়ালাইম

3

পাইথন 2 , 99 93 90 বাইট

জন্য ডান্ডা ধন্যবাদ কিছু এমনকি আরও সহায়তার যে এটা কাজ এবং চাঁচা 6 বাইট বন্ধ করা হয়েছে! -3 বাইট xnor ধন্যবাদ।

n=input()
r=eval(`eval('['*n+'0'+']*n'*n)`)
for i in range(n):exec'r'+`[i]`*n+'=1'
print r

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


1
def/returnইজ বেটার দ্যান নেভার input/print, এছাড়াও আপনি ড্রপ করতে পারেন (শ্রেষ্ঠ দৃশ্যকল্প এটা সমান) ()মধ্যে ('[%d]'%i)থেকে হ্রাস 93 বাইট
ডান্ডা

1
'[%d]'%iএর স্ট্রিং প্রতিনিধি হতে পারে [i]
xnor

2

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

f=(n,d=n-1,i)=>[...Array(n)].map((_,j)=>d?f(n,d-1,j-i?n:j):j-i?0:1)

ব্যাখ্যা: iসেলটি মূল তির্যকটিতে রয়েছে কিনা তা ট্র্যাক রাখতে ব্যবহার করা হয়। প্রাথমিকভাবে এটি অপরিজ্ঞাত, সুতরাং প্রথম পুনরাবৃত্ত কলটিতে আমরা সর্বদা প্রথম মাত্রাটি পাস করি, পরবর্তী সময়ে পুনরাবৃত্ত কলগুলিতে আমরা কেবল তখনই এটি পাস করি যদি বর্তমান মাত্রা সূচকটি পূর্ববর্তী সমস্ত মাত্রার সমান হয়, অন্যথায় আমরা একটি সূচি পাস করি nযা সমস্তটি নির্দেশ করে যে সমস্ত পুনরাবৃত্ত হওয়া ঘরগুলি শূন্য হওয়া উচিত।


2

ব্রেইনফাক , 61 বাইট

>,[->+>+<<]>[-<<+>>]>-[->+.-<<<<[->+>+<<]>[-<+>]>[->>.<<]>]+.

Ungolfed

কোণ বন্ধনীগুলির পরে সংখ্যাগুলি নির্দেশ করে যে সেলটি শেষ হয়ে গেছে।

>,                   read n to 1
[->+>+<<]            move 1 to 2 and 3
>2[-<<+>>]>3         move 2 to 0 
                     (tape: n 0 0 n 0)
-[                   while cell 3 {
    -                  dec 3
    >4+.-<3            print \x1
    <<<0[->+>+<<]      move 0 to 1 and 2
    >1[-<+>]>2         move 1 to 0
                       (tape: 0 0 n rows_left 0)
    [                  while cell 2 {
        -                dec 2
        >>4.<<           print \x0
    ]>3                }
]                    }
+.                   print \x1

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

ইনপুট একটি বাইনারি নম্বর। আউটপুট সারি-প্রধান ক্রমে সঞ্চিত একটি ম্যাট্রিক্স।


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

আমার ধারণা, সুনির্দিষ্ট ক্ষেত্রে সারি-মেজর ঠিক কলাম-
অক্টোপাস

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

2

আর , 64 49 বাইট

-15 বাইট জারকো ডাবলডামকে ধন্যবাদ

x=array(0,rep(n<-scan(),n));x[seq(1,n^n,l=n)]=1;x

স্টাডিনের কাছ থেকে পড়ে এবং মেট্রিক হিসাবে মুদ্রণ করে একটি অ্যারে দেয়। seqএকটি ক্রম সমানভাবে থেকে ব্যবধানে দ্বারা উৎপন্ন 1করার n^nদৈর্ঘ্য সঙ্গেl=n , যা কৌতুক সূচক বেশ চমত্কারভাবে করেন যেখানে 1s যান।

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

পুরনো সংস্করণ:

n=scan();x=rep(0,n^n);x=array(x,rep(n,n));x[matrix(1:n,n,n)]=1;x

রাউন্ডআপ n থেকে পড়া; ফলাফলকে ম্যাট্রিক হিসাবে মুদ্রণ করে একটি অ্যারে প্রদান করে। আমি দস্তাবেজগুলি না পড়ার আগে পর্যন্ত আমি এটির সাথে লড়াই করেছি [, যা সূচিত করে যে একটি ম্যাট্রিক্স একটি অ্যারে সূচীকরণের জন্য ব্যবহার করা যেতে পারে, যেখানে ম্যাট্রিক্সের প্রতিটি সারি সূচকগুলির সেটকে উপস্থাপন করে। ঝরঝরে!

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


array(0, rep(n,n)কাজ করে, তাই আপনাকে করতে হবে না rep। এর পরে আপনি আরো সময় লাগতে পারে nমাধ্যমে array(0, rep(n<-scan(),n))
জেএড

এছাড়াও, x[seq(1,n^n,l=n)]=11 বাইট সংক্ষিপ্ত।
জেএড

@ জারকো ডাবডেলডাম আপনাকে ধন্যবাদ! সুন্দর.
জিউসেপ


1

পাইথন 3 + নম্পি, 81 77 বাইট

from numpy import*
f=lambda n:all([a==range(n)for a in indices((n,)*n)],0)+0

আমি সম্পূর্ণরূপে নিশ্চিত নই যে উপরের সমস্ত নির্দেশিকাগুলি ফিট করে: এটি প্রদত্ত বৈশিষ্ট্যগুলির সাথে একটি ন্যাডেরিকে ফিরিয়ে দেয়। আমি জানি বেনাম ফাংশন সাধারণত সূক্ষ্ম হয় তবে একটি ইন্টারেক্টিভ শেল আসলে মুদ্রণ করবে

>>> f(2)
array([[1, 0],
       [0, 1]])

অ্যারে ফ্লাফ যদি উপরেরটি অবৈধ করে তোলে, আমাকে print()7 টি অতিরিক্ত বাইটের মতো কিছু দিতে হবে।

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


1

পাইথ, 14 বাইট

ucGQtQms!t{d^U

পরীক্ষা স্যুট

ব্যাখ্যা: ^Uযা নিখুঁতভাবে ^UQQ, Qইনপুটটি কোথায় , ব্যাপ্তির সমস্ত সম্ভাব্য Q উপাদান তালিকা গণনা করে 0 ... n-1ms!t{dসমস্ত 1 এর সমান উপাদানগুলির মানগুলি এবং বাকী 0 তে মানচিত্র দেয় এটি সমতল আউটপুট দেয়

ucGQtQ নিম্নলিখিতগুলি, Q - 1 বার কার্যকর করে: আকারের Q এর তালিকায় ইনপুট কেটে নিন Chop


1

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

n=>{var c=new int[n];int i=0,d;for(;i<n;c[i++]=n);var m=System.Array.CreateInstance(typeof(int),c);for(i=0;i<n;i++){for(d=0;d<n;c[d++]=i);m.SetValue(1,c);};return m;}

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

প্রথমে আমি ভেবেছিলাম সি # ... ^ __ ^ ইউ তে ল্যাম্বডা এক্সপ্রেশন দিয়ে এটি করা যাবে না


1

কমন লিস্প, 147 133 বাইট

(defun i(n)(flet((m(x)(fill(make-list n)x)))(let((a(make-array(m n):initial-element 0)))(dotimes(i n)(incf(apply #'aref a(m i))))a)))

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

সাধারণ সুপার-লম্বা লম্বা। 12 বাইট হ্রাস @ সিলিংক্যাট ধন্যবাদ!

ব্যাখ্যা:

(defun i (n)
  (flet ((m (x) (fill (make-list n) x)))            ; function to build a list of n values x
    (let ((a (make-array (m n) :initial-element 0))); build the array with all 0
      (dotimes (i n)                                ; for i from 0 to n-1
        (incf (apply #'aref a (m i))))              ; add 1 to a[i]..[i] 
      a)))                                          ; return the array

@ সেলিংক্যাট, অপস, গল্ফযুক্ত সংস্করণে একটি বোকা ত্রুটি ছিল। সংশোধন, ধন্যবাদ!
রেনজো

0

এসওজিএল ভি0.12 , 22 বাইট

.^κ.H/ 0* 1.H≤Οčr.H{.n

এখানে চেষ্টা করুন!
স্ট্যাকের উপর আউটপুট ফেলে দেয় , কনসোলে দেখতে পারা যায়। যদি আউটপুটে সংখ্যাগুলিকে স্ট্রিং করার অনুমতি দেওয়া হয়, তবে এটি rঅপসারণ করা যেতে পারে।
যেমন এসওজিএল কীভাবে চ্যালেঞ্জগুলি মোকাবেলা করে তার মজাদার পরীক্ষা এটি পুরোপুরি তৈরি করা হয়নি: পি

input: x
.^                      push  x^x
  κ                     subtract x    (x^x)-x
   .H/                  divide by x   ((x^x) - x)/x
       0*               get that many zeroes
          1             push "1"
           .H           push x-1
             ≤          pull the first item from the stack to the top
              Ο         encase (x-1 times the zeroes, separated, started and ended with 1s)
               č        chop to a char-array
                r       convert each character to a number
                 .H{    repeat x-1 times:
                    .n    in the top array, for each group of x contents, encase that in an array

0

Clojure, 92 বাইট

#(reduce(fn[v i](assoc-in v(repeat % i)1))(nth(iterate(fn[v](vec(repeat % v)))0)%)(range %))

চমৎকার যে এসোস-ইন কেবল হ্যাশ-ম্যাপের সাহায্যে নয়, ভেক্টরগুলির সাথেও কাজ করে।

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