আইডেন্টিটি ম্যাট্রিক্স তৈরি করুন


43

চ্যালেঞ্জ খুব সহজ। একটি পূর্ণসংখ্যার ইনপুট দেওয়া হয়েছে n, n x nপরিচয় ম্যাট্রিক্স আউটপুট । পরিচয় ম্যাট্রিক্স এমন এক যা 1উপরের বাম থেকে নীচে ডানদিকে বিস্তৃত রয়েছে । আপনি এমন একটি প্রোগ্রাম বা একটি ফাংশন লিখবেন যা আপনার নির্মিত পরিচয় ম্যাট্রিক্সকে ফিরিয়ে আনবে বা আউটপুট দেবে। আপনার আউটপুটটি 2 ডি অ্যারে বা স্পেস / ট্যাব এবং নিউলাইন দ্বারা পৃথক সংখ্যাগুলি হতে পারে।

উদাহরণ ইনপুট এবং আউটপুট

1: [[1]]
2: [[1, 0], [0, 1]]
3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]]

1
===
1

2
===
1 0
0 1

3
===
1 0 0
0 1 0
0 0 1

etc.

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


1
একটি পূর্ণসংখ্যার ইনপুট দেওয়া হয়েছে ... - আমি ধরে নিয়েছি আপনি একটি প্রাকৃতিক সংখ্যা বোঝায়?
জোনাথন ফ্রেচ

উত্তর:


26

এমএটিএল, 2 বাইট

Xy

আমার অক্টাভা উত্তরের একটি অনুবাদ।

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

বিল্ট-ইনগুলি সহ একটি 4 বাইট সংস্করণ (লুইস মেন্ডোকে ধন্যবাদ):

:t!=
:     take input n and a generate row array [1,2,...n]
 t    duplicate
  !   zip
   =  thread compare over the result

7
এই অত্যন্ত পরিশীলিত কোডটি অনুবাদ করা অবশ্যই কঠিন ছিল: D
flawr

11
@ ফ্লোয়ার আপনার কোন ধারণা নেই। এটি সত্যই আমার উত্কৃষ্ট।
একটি স্প্যাগেটো


1
এখন দেখছি কেন জিজ্ঞাসা করছিলাম! :-D
লুইস মেন্ডো

5
বিল্টিনগুলি ছাড়াই::t!=
লুইস মেন্ডো

20

টিআই-বেসিক, 2 বাইট

identity(Ans

মজার বিষয়: জানতে-- সংক্ষিপ্ত রাস্তা {N,N}নেই dim(identity(N

8 টি বাইটে বিল্টিন ছাড়াই এখানে সংক্ষিপ্ততম উপায়:

randM(Ans,Ans)^0

randM(-9 এবং 9 সমেতের মধ্যে সমস্ত পূর্ণসংখ্যার এন্ট্রি সহ একটি এলোমেলো ম্যাট্রিক্স তৈরি করে (এটি অদ্ভুতভাবে নির্দিষ্ট বলে মনে হয় কারণ এটি)। তারপরে আমরা এই ম্যাট্রিক্সকে 0 র্থ শক্তিতে নিয়ে যাই।


1
" এটি অদ্ভুতভাবে নির্দিষ্ট বলে মনে হচ্ছে কারণ এটি " টিআই-বেসিক অদ্ভুত। O_o
Doorknob

হ্যাঁ জাহান্নাম. টিআইবি-বেসিক। +1
bearacuda13

একটি তালিকা পেতে সবচেয়ে সংক্ষিপ্ত উপায় না {N,N}, হুম {N,N},?
সাইয়েস

1
@ কিউস নো; dim(এবং identity(প্রতিটি এক বাইট কারণ টিআই বেসিক টোকানাইজড।
লিরটোসিয়াস্ট

19

জুলিয়া, 9 3 বাইট

eye

এটি কেবল একটি অন্তর্নির্মিত ফাংশন যা কোনও পূর্ণসংখ্যা গ্রহণ করে nএবং একটি nxn Array{Float64,2}(অর্থাত্ 2 ডি অ্যারে) প্রদান করে। এটিকে কল করুন eye(n)

নোট করুন যে এই নীতি অনুসারে এই ফর্মের জমা গ্রহণযোগ্য ।


আমি আপনি কি কি আছে দেখতে! সুন্দর!
ইসমাইল মিগুয়েল

এটি
ম্যাথ


14

অষ্টাভ, 10 4 বাইট

@eye

একটি বেনামি ফাংশন দেয় যা একটি সংখ্যা নেয় nএবং পরিচয় ম্যাট্রিক্স প্রদান করে।


@eyeপর্যাপ্ত.
flawr

@ ফ্লোর ধন্যবাদ, আমি জানতাম যে এটির মতো করার একটি উপায় আছে তবে আমি সবসময় ভুলে যাই: পি
স্প্যাগেটো

eyeপ্রচুর / কয়েকটি সংখ্যামূলক ভিত্তিক ভাষায় পরিচয় ম্যাট্রিক্স তৈরি করে।
flawr

কি করে @?
সাইয়েস

@ কাইস @হ'ল "ফাংশন হ্যান্ডেল অপারেটর", এটি lambdaএকটি বিশেষ ফাংশনের রেফারেন্স হিসাবে কাজ করে, উদাহরণস্বরূপ, @(x)x.^2স্কোয়ারিং ফাংশন এবং @sqrtবর্গমূলের ফাংশনের একটি রেফারেন্স। আপনি যে সম্বন্ধে আরও পড়তে পারেন এখানে
: Giuseppe

12

আর, 4 বাইট

diag

যখন ম্যাট্রিক্স দেওয়া হয় তখন ম্যাট্রিক্সের diagতির্যকটি প্রদান করে। যাইহোক, যখন একটি পূর্ণসংখ্যা দেওয়া n, diag(n)পরিচয় ম্যাট্রিক্স ফেরৎ।

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


11

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

lambda n:zip(*[iter(([1]+[0]*n)*n)]*n)[:n]

একটি বেনামী ফাংশন, যেমন আউটপুট উত্পাদন করে [(1, 0, 0), (0, 1, 0), (0, 0, 1)],

প্রথমে তালিকা তৈরি করে ([1]+[0]*n)*n, যা n=3দেখতে পছন্দ করে

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

জিপ / ইটার ট্রিক ব্যবহার করে উপহারেরzip(*[iter(_)]*n দল তৈরি nকরে

[(1, 0, 0), (0, 1, 0), (0, 0, 1), (0, 0, 0)]

নোট করুন যে 1প্রতিবারের পরে একটি সূচক আসে, পরিচয় ম্যাট্রিক্স দেয়। তবে, অতিরিক্ত শূন্য সারি রয়েছে, যা দিয়ে মুছে ফেলা হয়েছে [:n]


1
অভিহিত যে জিপ / এটির কৌশলটি
জ্ঞানজনক

10

জেলি, 4 বাইট

R=€R

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

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

R=€R    Main link. Input: n

R       Range; yield [1, ..., n].
   R    Range; yield [1, ..., n].
 =€     Compare each.
        This compares each element of the left list with the right list, so it
        yields [1 = [1, ..., n], ..., n = [1, ..., n]], where comparison is
        performed on the integers.

25
এই কোডটি অগ্রহণযোগ্য দীর্ঘ।
flawr

5
সংক্ষিপ্ততম দৈর্ঘ্যের দ্বিগুণ আসলেই এটি একটি অস্বাভাবিক মুখোমুখি।
রেইনার পি।

1
@ ফ্লোয়ার হ্যাঁ, এবং জে এর চেয়ে কম নয় । ব্যর্থ!
অ্যাডম

2
জেলির আধুনিক সংস্করণগুলিতে দুটি বাইট, এবং দীর্ঘ উত্তরগুলির জন্য মজা করে।
লিন

@ লিন এটি সংক্ষিপ্ত ওয়ানএসের চেয়ে দ্বিগুণ দীর্ঘ এখনও
অ্যাডম

10

জে, 4 বাইট

=@i.

এটি এমন একটি ফাংশন যা পূর্ণসংখ্যা নেয় এবং ম্যাট্রিক্স প্রদান করে।


আমি মনে করি আপনি এটি 3 এ করতে পারেন:=i.
স্যাম এলিয়ট

@ সামিলিয়ট যে কাজ করে না উদাহরণস্বরূপ, (=i.) 10=>0 0 0 0 0 0 0 0 0 0
সাইয়েস

9

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

f n=[[0^abs(x-y)|y<-[1..n]]|x<-[1..n]]

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

সম্পাদনা: আরজান জোহানসেনকে ধন্যবাদ বলে কিছু বাইট ফেলে দেওয়া হয়েছে


7
আপনি fromEnumহিসাবে প্রতারণা করতে পারেন sum[1|x==y]
xnor

আপনি যে জায়গাটি সরিয়ে ফেলতে পারবেন তা নিশ্চিতfromEnum (y==x)
সাইওস

@xnor হল যে চেয়ে খাটো বাইট: 0^abs(x-y)
janrjan জোহানসেন

1
@ এক্সনর ওহ, আপনি কেবল 0^(x-y)^2নিজের উত্তরটি আরও ছোট ব্যবহার করেছেন।
janrjan জোহানসেন

@ আরজান জোহেনসেন হ্যাঁ, আপনার মন্তব্যটি দেখে ভাল সময়
লাগছিল

8

পাইথ, 7 বাইট

XRm0Q1Q

অনলাইনে চেষ্টা করুন: বিক্ষোভ

শূন্যের একটি ম্যাট্রিক্স তৈরি করা এবং তির্যক উপাদানগুলির পরিবর্তে এক সাথে করা।


ফাইনালটি সরিয়ে আপনি একটি বাইট সংরক্ষণ করতে পারেনQ
জিম

1
@ জিম ধন্যবাদ, তবে আসলে এটি অনুমোদিত হবে না। চ্যালেঞ্জ পোস্ট হওয়ার পরে বৈশিষ্ট্যটি (শেষে অন্তর্ভুক্ত কিউ) প্রয়োগ করা হয়েছিল।
জাকুবে

7

জাভাস্ক্রিপ্ট ES6, 68 62 52 বাইট

@ নীলের একটি ঝরঝরে ট্রিকের জন্য 10 বাইট সংরক্ষণ করা হয়েছে

x=>[...Array(x)].map((_,y,x)=>x.map((_,z)=>+(y==z)))

@ সিᴏɴᴏʀ ও'বা'র চেয়ে আলাদা পদ্ধতির চেষ্টা করা। সম্ভবত উন্নতি করা যেতে পারে।


আপনি ঠিক আমাকে মারতে চাইবেন তা জানতে এটি স্ক্রোল করার আগে আমি ঠিক এটি লিখেছিলাম।
নিল

সুতরাং, আপনার চ্যালেঞ্জের প্রতিক্রিয়ায়, আমি আপনাকে x=>[...Array(x)].map((_,y,x)=>x.map((_,z)=>+(y==z)))10 বাইট সাশ্রয়ের জন্য স্পষ্টভাবে (পূর্বচক্ষুতে) দেব ।
নিল

@ নীল অনেক ধন্যবাদ! আমি উল্লেখ করব যে উত্তরে এটি আপনার কৌশল।
ETH প্রোডাকশনগুলি

x=>[...Array(x)].map((_,y,x)=>x.map(_=>+!y--))
l4m2

7

রেটিনা , 25

অতিরিক্ত গল্ফ করার জন্য ক্রেডিট @ র্যান্ডোমরা এবং @ মার্টিনকে

\B.
 0
+`(.*) 0$
$0¶0 $1

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

নোট হিসাবে এটি ইনপুট লাগে নোট। যদি এটি গ্রহণযোগ্য না হয়, তবে দশমিক ইনপুট নীচে দেওয়া যেতে পারে:

রেটিনা, 34

.+
$0$*1
\B.
 0
+`(.*) 0$
$0¶0 $1

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


3
... থাম। রেজিনা রেগেক্সের চেয়ে বেশি ভাষার জন্য শক্তিশালী হয়ে উঠছে।
ETH প্রোডাকশনগুলি

@ ইথ প্রডাকশনস হ্যাঁ, যদিও এটি বেশিরভাগ রেগেক্স বিকল্পের উত্তর। কেবলমাত্র বিশেষ জিনিসটি হ'ল $*0একটি সংখ্যা এন এর সাথে প্রতিস্থাপন করা 0
ডিজিটাল ট্রমা

6

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

(#)=replicate
f n=map(\x->x#0++[1]++(n-x-1)#0)[0..n-1]

fইনপুট জন্য পরিচয় ম্যাট্রিক্স ফেরত। অনুকূল থেকে দূরে।


আপনি mapকলের পরিবর্তে একটি তালিকা বোধগম্যতা ব্যবহার করে কয়েক মুখ্য বাইট সংরক্ষণ করতে পারেন ।
গাণিতিক

6

লুয়া, 77 75 65 বাইট

x,v=z.rep,io.read()for a=1,v do print(x(0,a-1)..'1'..x(0,v-a))end

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

সম্পাদনা করুন:

আমি দুর্ঘটনার পরে এমন কিছু খুঁজে পেয়েছি যা আমার কাছে অদ্ভুত বলে মনে হয় তবে এটি কার্যকর হয়।

লুয়ায়, সবাই জানেন যে ভেরিয়েবলগুলিতে ফাংশন নির্ধারণ করার ক্ষমতা আপনার রয়েছে। এটি কোডোগল্ফের অন্যতম দরকারী বৈশিষ্ট্য।

এর পরিবর্তে এর অর্থ:

string.sub("50", 1, 1) -- = 5
string.sub("50", 2, 2) -- = 0
string.sub("40", 1, 1) -- = 4
string.sub("40", 2, 2) -- = 0

তুমি এটি করতে পারো:

s = string.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0

তবে অপেক্ষা করুন, লুয়া কিছু পরিমাণ ওওপি অনুমতি দেয়। সুতরাং আপনি সম্ভবত এটি করতে পারেন:

z=""
s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0

এটি পাশাপাশি কাজ করবে এবং চরিত্রগুলি কেটে দেবে।

এখন এখানে অদ্ভুত অংশ আসে। এমনকি আপনাকে কোনও বিন্দুতে একটি স্ট্রিংও বরাদ্দ করতে হবে না। সহজভাবে করছেন:

s = z.sub
s("50", 1, 1) -- = 5
s("50", 2, 2) -- = 0
s("40", 1, 1) -- = 4
s("40", 2, 2) -- = 0

কাজ করবে.


সুতরাং আপনি এই পার্থক্যটি দৃশ্যত দেখতে পারবেন, এর গল্ফযুক্ত ফলাফলগুলি একবার দেখুন:

স্ট্রিং.স্যাব (88 টি অক্ষর) ব্যবহার করা হচ্ছে

string.sub("50", 1, 1)string.sub("50", 2, 2)string.sub("40", 1, 1)string.sub("40", 2, 2)

একটি ভেরিয়েবল (65 অক্ষর) এ স্ট্রিং.সব বরাদ্দ করা হচ্ছে

s=string.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)

একটি ওওপি পন্থা (characters৪ টি অক্ষর) ব্যবহার করে স্ট্রিং.সুবকে বরাদ্দ করা হচ্ছে

z=""s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)

স্ট্রিং.সুবকে .. নিল পদ্ধতির সাহায্যে বরাদ্দ করা হচ্ছে? (Characters০ টি অক্ষর)

s=z.sub s("50", 1, 1)s("50", 2, 2)s("40", 1, 1)s("40", 2, 2)

যদি কারও জানা থাকে যে এটি কেন কাজ করে তবে আমি আগ্রহী।


"Z.rep" লাইনটি আমার উপর ভেঙে যাচ্ছে। আমি বাজি দিচ্ছি সেখানে কোথাও এজে = '' থাকা উচিত? Z = '' z.rep এর সংক্ষিপ্ত রূপটি কেবল ('') .rep হবে। আপনি ইনপুট পড়ার জন্য সেমিডলাইনও ব্যবহার করতে পারেন, এবং নিম্নোক্তভাবে 57 টিতে বাইটਕਾ্টটি উইল করতে পারেন: z = '0''এর জন্য আমি = 1, ... মুদ্রণ করুন (z: rep (i-1) .. 1 ..জ: রেপ (...- i)) শেষ
ততক্ষণে 22'16

আমি একজনকে ("") পরামর্শ দেওয়ার আগে খুঁজে পেয়েছি .রেপ করুন তবে আমি এটি কাজে লাগাতে পারিনি। এটি সর্বদা ত্রুটিযুক্ত হতে চাই। হয়তো আমার দোভাষী এটাই সমস্যা। আমি এই কমান্ড লাইন ইনপুটটিতে কোনও ডকুমেন্টেশন সন্ধানের জন্য সংগ্রাম করছি, আপনি এটি জানেন কোথায় এটি পাওয়া যাবে?
Skyl3r

6

পাইথন 3, 48

Sp3000 ধন্যবাদ 1 বাইট সংরক্ষণ করা।

আমি এক লাইনে চ্যালেঞ্জগুলি সমাধান করতে পারি love খুব সহজ, 1 এবং 0 এর মধ্যে একটি লাইন তৈরি করিয়ে দেওয়া সংখ্যার দৈর্ঘ্যের সমান। 2d অ্যারে হিসাবে আউটপুট। আপনি যদি অংশটি: এর পরে আবদ্ধ করেন তবে '\n'.join()এটি এটি প্রিন্ট করবে।

lambda x:[[0]*i+[1]+[0]*(x+~i)for i in range(x)]

2
x-i-1 -> x+~i
Sp3000

5

সি, 59 বা 59 56 বা 56

অভিন্ন দৈর্ঘ্যের দুটি সংস্করণ।

অ্যানাটোলিগের পরামর্শের কারণে 3 বাইট সংরক্ষণ করা হয়েছে: (n+1)->~n

Iterates iথেকে n*n-1শূন্য রয়েছে। I% (n + 1) শূন্য, অন্যথায় যদি i%n1 টি প্রিন্ট করে তবে 0 হয় অন্যথায় কোনও স্থান যদি 0 থেকে একটি নতুন লাইন প্রিন্ট করে ।

i;f(n){for(i=n*n;i--;)printf(i%n?"%d ":"%d\n",!(i%~n));}

i;f(n){for(i=n*n;i--;)printf("%d%c",!(i%~n),i%n?32:10);}

1
n+1খুব নিস্তেজ। ~nপরিবর্তে ব্যবহার করুন!
অ্যানাটলিগ

ধন্যবাদ! আমার এটি হওয়া উচিত ছিল, কারণ যখন আমি আজ এনবিজেডের চ্যালেঞ্জটি দেখছিলাম তখন এটি আমার কাছে ঘটেছিল।
স্তর নদী সেন্ট

আমি সি এর সাথে খুব বেশি পরিচিত নই কি করে i;?
সাইয়েস

@ কিয়েস i;কেবল পরিবর্তনশীল ঘোষণা করে i। সিতে আপনাকে সর্বদা এটির ব্যবহারের আগে একটি পরিবর্তনশীল ঘোষণা করতে হবে, প্রকারটি নির্দেশ করে যাতে সংকলক জানে কত মেমরি বরাদ্দ করতে হয়। জিসিসি সংকলক সহ, আপনি কোনও ধরণ উল্লেখ না করলে এটি অনুমান করা হয় int
স্তর নদী সেন্ট

1
আপনি দ্বিতীয়টি থেকে 1 টি আরও বাইট নিতে পারেন, যেহেতু ট্যাবগুলির অনুমতি রয়েছে, আপনি 9 দিয়ে 32 টি প্রতিস্থাপন করতে পারবেন
বিজন

5

মাতা, 4 বাইট

I(3)

আউটপুট

[symmetric]
       1   2   3
    +-------------+
  1 |  1          |
  2 |  0   1      |
  3 |  0   0   1  |
    +-------------+

স্টাটা স্ট্যাটিস্টিকাল প্যাকেজের মধ্যে মাতা ম্যাট্রিক্স প্রোগ্রামিং ভাষা। আমি (এন) আকারের একটি পরিচয় ম্যাট্রিক্স তৈরি করি n * n


5
প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্ট্যাক এক্সচেঞ্জে আপনাকে স্বাগতম। এটি একটি ভাল উত্তর; (অব) গল্ফ করার জন্য বিল্ট-ইনগুলির ব্যবহার দুর্দান্ত। আমি লক্ষ্য করেছি যে আপনার উত্তরটি আসলে 1 বাইট: Iএবং অন্যান্য 3 বাইট কেবলমাত্র ফাংশনটি কল করছে। এটি আপনার উত্তরকে এই চ্যালেঞ্জের মধ্যে সবচেয়ে কম এক করে তুলবে! :-)
wizzwizz4


4

পাইথ, 8 বাইট

mmsqdkQQ

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


1
আমি অবশ্যই বলব, এটি অত্যন্ত অস্বাভাবিক যে
পাইথ

এইচআরএম, এটিই আমি সেরাটি দেখতে পেয়েছিলাম যে এটি 100% বৈধ qRRQQবলে মনে হচ্ছে , তবে আমি খুঁজে পেয়েছি যা আপনাকে পাওয়া Trueএবং Falseপরিবর্তে 1এবং 0এটির পরিবর্তে কাজ করবে বলে মনে হয়েছে , তবে এই আফিকের ফিক্সিংয়ের জন্য তিনটি বাইট ব্যবহার করা দরকার sMMযার জন্য কোনও সহায়তা হয় না ...
FryAmTheEggman 21

@ ফ্রাইআম দ্য এজম্যান আমি কিআরআরকিউকিউও পেয়েছি। আমি বেশ কয়েকটি অন্যান্য প্রোগ্রাম চেষ্টা করেছি এবং সেগুলির কোনওটিই সংক্ষিপ্ত ছিল না।
লিটারোসিয়াসট

4

নুমপি সহ পাইথন 3.5 - 57 49 30 বাইট

import numpy
numpy.identity

NumPy.identity একটি পূর্ণসংখ্যা, n এ নিয়ে যায় এবং n শনাক্তকরণ ম্যাট্রিক্স প্রদান করে। এই নীতিটির মাধ্যমে এই উত্তরটি অনুমোদিত ।


4
আসলে আমি বিশ্বাস করি import numpy\nnumpy.identityএটি একটি বৈধ উত্তর
FryAmTheEggman

টিপটি মরগানথ্রাপের জন্য ধন্যবাদ! এবং @ ফ্রাইআম দ্য এজিগম্যান, আপনার মানে আমার উত্তরটি import numpy\nnumpy.identity()যা হতে পারে যা 30 বাইট?
linkian209

আমি n nnumpy LOL দ্বারা এত বিভ্রান্ত হয়ে পড়েছি ... এটিও বৈধ হবে, @ ফ্রাইআমএইজিগম্যান, না? from numpy import identity। 26 বাইট।
ওগাদে

এছাড়াও, আমার উত্তরটি অনুরূপ
ওগাদে

@ ওগাদে আমি এটিকে সঠিক বলে মনে করি না, আপনি যে রেখাটি দিয়েছেন তাতে কোনও ফাংশনের মূল্যায়ন হয় না। আপনাকে করতে হবে from numpy import identidy\nidentity( *সেক্ষেত্রে নির্দিষ্ট
বিল্টিনের



4

জাপট, 14 12 10 বাইট

Uo £Z®¥X|0

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

Uo £Z®¥X|0    // Implicit: U = input integer
Uo £          // Create the range [0..U). Map each item X and the full array Z to:
    Z®        //  Take the full array Z, and map each item Z to:
      ¥X|0    //   (X == Z) converted to a number. 1 for equal, 0 for non-equal.
              // Implicit: output result of last expression


3

কে, 7 বাইট

t=\:t:!

[0, n) সমেত দুটি ভেক্টরের সমতা ক্রস পণ্যটি নিন।

কর্মে:

  t=\:t:!3
(1 0 0
 0 1 0
 0 0 1)
  t=\:t:!5
(1 0 0 0 0
 0 1 0 0 0
 0 0 1 0 0
 0 0 0 1 0
 0 0 0 0 1)

3

জাভা, 60 বাইট

n->{int[][]i=new int[n][n];for(;n-->0;)i[n][n]=1;return i;};

একটি 2 ডি অ্যারে তৈরি করে এবং সারি এবং কলামটি সমান এমন উপাদানগুলিকে প্রতিস্থাপন করে 1


জাভা ল্যাম্বদা উত্তরের জন্য আপনাকে বাইট-কাউন্টে ট্রেলিং সেমিকোলন যুক্ত করতে হবে না।
কেভিন ক্রুইজসেন


3

গণিত, 14 বাইট

IdentityMatrix

পরীক্ষা ক্ষেত্রে

IdentityMatrix[4]
(* {{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}} *)

3

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

/$/,say map$`==$_|0,@%for@%=1..<>

টন হসপেলকে ধন্যবাদ 6 বাইট সংরক্ষণের জন্য

-Eপার্লারুন দিয়ে চলছে :

$ echo 3 | perl -E'@%=1..<>;$a=$_,say map{$a==$_|0}@%for@%'
100
010
001

কিছুটা বেশি /$/,say map$`==$_|0,@%for@%=1..<>//,say map$'==$_|0,@%for@%=1..<>
গল্ফ করুন

@ টনহসপেল বাহ প্রশংসনীয় ধন্যবাদ পরবর্তী কথায় printপরিবর্তে ব্যবহারের প্রয়োজন হবে , কারণ -Eকেবলমাত্র কমান্ড লাইনেই এটি বিনামূল্যে।
andlrc
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.