একটি দৈহিক গুণ টেবিল মুদ্রণ করুন


40

আয়তক্ষেত্রগুলিতে এই দুর্দান্ত সম্পত্তি রয়েছে - একটি আয়তক্ষেত্রটি ঠিক অক্ষর নিয়ে গঠিত !n×mn×m

উ .. আরও আকর্ষণীয় সম্পত্তি হ'ল আয়তক্ষেত্রগুলি একটি গুণ গুণে ভালভাবে সাজানো যায় - উদাহরণস্বরূপ, একটি টেবিল:3×3

# ## ###

# ## ###
# ## ###

# ## ###
# ## ###
# ## ###

আপনার চ্যালেঞ্জ একটি সংখ্যা দেওয়া হয় ( ), আউটপুট একটি ফরম্যাট গুণ টেবিল।nn>1n×n

বিধি

  • আপনি উপরে বা নীচে একটি ইনপুট নিতে পারেনn
  • ডিফল্ট আই / ও বিধি প্রযোজ্য
  • আপনি ব্লকগুলি উপস্থাপন করতে যে কোনও অ-হোয়াইটস্পেস অক্ষর চয়ন করতে পারেন; অন্যান্য প্রতিটি চরিত্র (যদিও নিউলাইনগুলি বিশেষ তবে) সাদা স্থান হিসাবে বিবেচিত হয়। নির্বাচিত চরিত্রটি বিভিন্ন ইনপুটগুলির জন্য আলাদা হতে পারে তবে পুরো ইনপুট জুড়ে অবশ্যই একই হওয়া উচিত
  • ফলাফলটিতে বিনা শৃঙ্খলাবদ্ধ অক্ষর থাকতে পারে, যতক্ষণ না টেবিলটি সারিবদ্ধ থাকে এবং নির্বাচিত চরিত্রের কোনও উপস্থিতি না থাকে যা প্রয়োজনীয় আউটপুটটির অংশ না হয়
  • বিভাজকগুলি অবশ্যই 1 টি অক্ষরের প্রশস্ত / লম্বা এবং আয়তক্ষেত্রগুলি অবশ্যই প্যাক করা উচিত (অর্থাত্ তাদের অক্ষরের মধ্যে কোনও বিভাজক নেই)
  • খালি লাইনগুলি খালি থাকতে পারে, প্যাডিংয়ের প্রয়োজন নেই
  • ফলাফলটি স্ট্রিং, ম্যাট্রিক্স, লাইনগুলির ভেক্টর, চরিত্রের অ্যারে বা 2 ডিশ হতে পারে
  • আপনি বিকল্প হিসাবে একটি ম্যাট্রিক্স / ভেক্টর-ভেক্টর / কিছু 2Dish সংখ্যার আউটপুট দিতে পারেন, তবে পটভূমি এবং সম্মুখভাগ অবশ্যই 2 স্বতন্ত্র সংখ্যা (যা ইনপুটটিতে ইনপুট পরিবর্তিত হতে পারে তবে আউটপুট জুড়ে নয়) এবং অন্য কোনও সংখ্যা উপস্থিত হতে পারে না। অতিরিক্ত পার্শ্ববর্তী অক্ষরগুলিও এই ফর্ম্যাটটির সাথে অনুমোদিত (যদিও তাদের অবশ্যই পটভূমির সংখ্যার সাথে মেলে)
  • এটি , বাইটের প্রতি সংক্ষিপ্ত উত্তর, প্রতি ভাষা, জয়!

উদাহরণ

ইনপুট করতে 2, একটি বৈধ ASCII অত্যাধুনিক আউটপুট, অক্ষর দিয়ে , হল:

        ∙ ∙∙

Result: ∙ ∙∙.
        ∙ ∙∙

হ্যাঁ পিরিয়ডটি কেবল আপনাকে
একটি নম্বর ম্যাট্রিক্স হিসাবে আর একটি বৈধ উত্তর দেয়, যার মধ্যে 2 ব্যাকগ্রাউন্ড নম্বর এবং 9 অগ্রভাগ হয়:

[[9,2,9,9,2,2],
 [2,2,2,2,2,2],
 [9,2,9,9,2,2],
 [9,2,9,9,2,2]]

একটি অবৈধ আউটপুট উদাহরণ হবে

#  # #


#  # #

#  # #

যেহেতু আয়তক্ষেত্রগুলির মধ্যে তাদের মধ্যে পৃথক রয়েছে।

আউটপুট উদাহরণ :4×4

# ## ### ####

# ## ### ####
# ## ### ####

# ## ### ####
# ## ### ####
# ## ### ####

# ## ### ####
# ## ### ####
# ## ### ####
# ## ### ####


1 0 1 1 0 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1
1 0 1 1 0 1 1 1 0 1 1 1 1

আমাদের কী টেবিলের শেষে না থেকে পটভূমির অক্ষরের অতিরিক্ত সারি / কলাম থাকতে পারে?
ক্যারিল এল।

@KirillL। নিশ্চিত, যতক্ষণ সারি সারি অবধি থাকবে
dzaima

2
নিতপিক: ∙ (U + 2219: বুলেট অপারেটর) ASCII অক্ষর সেটটিতে উপস্থিত নেই। • (U + 2022: BULLET) বা ⋅ (U + 22C5: ডট অপারেটর) বা · (U + 00B7: মিডল ডট )ও নয়। :)
Andreas রেজব্র্যান্ড

উত্তর:


10

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

f n=map=<<flip(map.max)$show.(10^)=<<[1..n]

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

আরজান জোহেনসেন 0 এবং 1 এর আউটপুট দিয়ে একটি চৌকস পদ্ধতির মাধ্যমে প্রতিটি 10...00অংশকে 10 এর পাওয়ারের স্ট্রিং প্রতিনিধিত্ব হিসাবে তৈরি করে।

111111111
101001000
111111111
101001000
101001000
111111111
101001000
101001000
101001000

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

f n=map=<<flip(map.max)$[0^i|x<-[1..n],i<-[0..x]]

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

এর মতো একটি প্যাটার্ন তৈরি করে [1,0,1,0,0,1,0,0,0,...], তারপরে minজোড়াগুলির সংযোগ নিয়ে 2D তৈরি করে । পয়েন্টফ্রি অদ্ভুততা আরও পঠনযোগ্যের চেয়ে 2 বাইট সঞ্চয় করে:

f n|l<-do x<-[1..n];0:(1<$[1..x])=[[a*b|a<-l]|b<-l]

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


3
এটি আমার পুরানো ত্রিভুজাকার সংখ্যা ট্রিক দ্বারা সংক্ষিপ্ত করা যেতে পারে: 43 বাইট
janrjan জোহানসেন

1
ঠিক বুঝেছি flip(map.max)=mapM max,।
janrjan জোহানসেন

@ আরজান জোহেনসেন হু, কীভাবে এটি কাজ করে? আমি মনে করি আপনি নিজের :-) এর উত্তর পোস্ট করে করতে পেরেছিলেন
xnor

(->) bতারপর monad সেট করুন mapM :: (a -> b -> c) -> [a] -> b -> [c]
আর্জন জোহানসেন

@ এক্সনোর আপনি বদলে flip(map.max)যেতে ভুলে গেছেনmapM max
এএসসিআইআই-কেবল

9

আর , 56 54 43 36 30 বাইট

x=!!sequence(2:scan())-1;x%o%x

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

উপরের একটিকে ইনপুট নেয় (সুতরাং 3x জন্য ম্যাট্রিক্স )। সামনের একটি অতিরিক্ত সারি / কলাম সহ (অগ্রভূমি) এবং (পটভূমি) এর একটি ম্যাট্রিক্স প্রদান করে ।nn=41s0s

-7 বাইট জন্য digEmAll ধন্যবাদ।


ধন্যবাদ, বিটিডব্লিউ এটি সম্ভবত 30 এরও বেশি হতে পারে, যদি অতিরিক্ত ফাঁকা সারিটি শেষ না হয়ে সামনে থাকতে পারে।
ক্যারিল এল।

ওহ, তারা করতে পারেন? আমি সেটা মিস করছিলাম !

6

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

1, স্পেস এবং লাইন ফিড দিয়ে তৈরি স্ট্রিংটি দেয়।

n=>(g=s=>n-->0?g(s+`${p+=1} `):s[~n]?(+s[~n]?s:'')+`
`+g(s):'')(p='')

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


জাভাস্ক্রিপ্ট (ES7),  87 83  82 বাইট

@ বাইজাইমা ধন্যবাদ 3 বাইট সংরক্ষণ করা

একটি বাইনারি ম্যাট্রিক্স প্রদান করে, যা ঘর দ্বারা ঘর নির্মিত।

n=>[...Array(n*(n+3)/2)].map((_,y,a)=>a.map(h=(z,x)=>(17+8*x)**.5%1&&(z||h(1,y))))

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

কিভাবে?

ম্যাট্রিক্সের প্রস্থ দ্বারা দেওয়া হয়েছে:w

w=Tn+n1=(n+12)+n1=n(n+3)21

(এনবি: চ্যালেঞ্জ বিধি দ্বারা অনুমোদিত হিসাবে, আমরা পরিবর্তে একটি ম্যাট্রিক্স আউটপুট দেই ))w+1

একইভাবে, এ অবস্থিত ঘরটি খালি খালি থাকে যদি নিম্নলিখিত চতুর্ভুজটি বা জন্য একটি পূর্ণসংখ্যার রুট স্বীকার করে :(X,Y)k=Xk=Y

x(x+3)21k=0x2+3x22k=0

যার নির্ধারক:

Δ=94(22k)=17+8k


এটি বাইট সংরক্ষণ করতে পারে কিনা তা নিশ্চিত নয় তবে সেই চতুর্ভুজটির সমাধানটি হবে , সুতরাং বিজোড় হলে একটি পূর্ণসংখ্যার শিকড় থাকবে that , একটি বিজোড় নিখুঁত বর্গ। 3±17+8k2 ΔΔΔ
এরিক আউটগল্ফার

5

এমএটিএল, 14 10 বাইট

:"@:Fv]g&*

এই উত্তরটি 1ব্লকগুলির 0জন্য এবং পটভূমির জন্য ব্যবহার করে

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

ব্যাখ্যা

     % Implicitly grab the input as an integer, N
     %   STACK: { 3 }
:    % Create an array from 1...N
     %   STACK: { [1, 2, 3] }
"    % For each element M in this array
  @: % Create an array from 1...M
     %   STACK (for 1st iteration): { [1] }
     %   STACK (for 2nd iteration): { [1; 0], [1, 2] }
     %   STACK (for 3rd iteration): { [1; 0; 1; 2; 0], [1, 2, 3] }
  F  % Push a zero to the stack
     %   STACK (for 1st iteration): { [1], 0 }
     %   STACK (for 2nd iteration): { [1; 0], [1, 2], 0 }
     %   STACK (for 3rd iteration): { [1; 0; 1; 2; 0], [1, 2, 3], 0 }
  v  % Vertically concatenate everything on the stack
     %   STACK (for 1st iteration): { [1; 0] }
     %   STACK (for 2nd iteration): { [1; 0; 1; 2; 0] }
     %   STACK (for 3rd iteration): { [1; 0; 1; 2; 0; 1; 2; 3; 0] }
] 
g    % Convert everything to be boolean (turns all non-zeros to 1)
     %   STACK: { [1; 0; 1; 1; 0; 1; 1; 1; 0] }
&*   % Perform element-wise multiplication to expand this array out into the 2D grid
     % Implicitly display the result


4

এপিএল (ডায়ালগ ইউনিকোড) , 12 10 12 বাইট এসবিসিএস

∘.×⍨∊,\0,⎕⍴1

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

সম্পাদনা: এনজিএন থেকে -2 বাইট। +2 বাইট কারণ পূর্ববর্তী উত্তরগুলি অবৈধ ছিল (এনএনজি এবং ডিজাইমার ধন্যবাদ সহ)।

ব্যাখ্যা

∘.×⍨∊,\0,⎕⍴1

             Take input.
           1  An array of 1s of length our input. Example: 1 1 1
       0,      Prepend a 0. Example: 0 1 1 1
     ,\        Take all the prefixes and concatenate them. Example: 0  0 1  0 1 1  0 1 1 1
              Flatten the list. Example: 0 0 1 0 1 1 0 1 1 1
∘.×⍨           Turn the above list into a multiplication table of 0s and 1s
               by multiplying the list with itself.

ফলাফলটি দেখতে হবে:

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 1 1 1
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 1 1 1
0 0 1 0 1 1 0 1 1 1
0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 0 1 1 1
0 0 1 0 1 1 0 1 1 1
0 0 1 0 1 1 0 1 1 1

1
আপনি { }
এনগন্ট

4

জেলি , 7 বাইট

‘RÄṬ|þ`

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

আয়তক্ষেত্রগুলির জন্য এবং তাদের মধ্যে প্যাডিংয়ের জন্য ব্যবহার করে একটি অঙ্কের ম্যাট্রিক্স আউটপুট দেয়। টিআইও লিঙ্কটিতে একটি পাদচরণ রয়েছে যা সারি এবং কলামগুলিকে সজ্জিত করে একটি মানব-পঠনযোগ্য উপায়ে একটি ডিজিটের ম্যাট্রিক্স ফর্ম্যাট করে।01

ব্যাখ্যা

‘RÄṬ|þ`
 R       Take a range from 1 to
‘          {the input} plus 1
  Ä      Cumulative sum; produces the first {input}+1 triangular numbers
   Ṭ     Produce an array with 1s at those indexes, 0s at other indexes
     þ   Create a table of {the array}
      `    with itself
    |      using bitwise OR

ফলস্বরূপ সারণীর ঘরে কোষের সংখ্যা হবে যদি বা হয় ত্রিভুজাকার সংখ্যা হয় বা অন্যথায় হয় (কারণ বিটওয়াইজ OR বা 0 এবং 1 তে লজিকাল OR এর মতো কাজ করে)। (আমরা ব্যবহার করি , 1 থেকে বিস্তৃত, কারণ জেলি 1-ভিত্তিক সূচক ব্যবহার করে, তাই কলাম 0 টি ভুলভাবে 0s পূর্ণ হওয়া নিয়ে আমাদের চিন্তা করার দরকার নেই; ইনপুটটিতে আমাদের 1 যুক্ত করতে হবে কারণ অ্যারে দ্বারা উত্পাদিত অ্যারেটি তৈরি করা হয়েছে)(x,y)1xy0Rইনপুটটিতে প্রদত্ত বৃহত্তম উপাদানটিতে থামায়, সুতরাং আমাদের ডানদিকে এবং নীচে একটি লাইন আঁকতে হবে) প্রশ্ন দ্বারা অনুরোধ করা আকার হিসাবে আপ; এবং একটি ওআর অপারেশন ব্যবহার (এই ক্ষেত্রে, বিটওয়াস) লাইনগুলি একে অপরকে সঠিকভাবে অতিক্রম করতে দেয়।


কেন এটি একটি সম্প্রদায়ের উইকি ?! আপনি যদি প্রতিনিধি মওকুফ করতে চান তবে আপনি কেবল এরিক দি আউটগল্ফারকে এটি দিতে পারেন
জোনাথন অ্যালান

1
আমি আমার সমস্ত উত্তর সিডব্লিউ করি (যদি না আমি মনে করি তারা কোন অনুগ্রহ পেতে পারে তবে আমি তাদের জন্য একটি অস্থায়ী অ্যাকাউন্ট ব্যবহার করি)। উচ্চ খ্যাতি অর্জনের লক্ষ্যে সাধারণত সাইটটিকে আরও খারাপ করা লক্ষ্য করা (এটি সম্ভব ছিল তা প্রমাণ করার জন্য আমি একদিনের জন্য প্রতিদিন একবার পুনরায় ছড়িয়ে দিয়েছি; এটি বিশেষভাবে কঠিন ছিল না, এবং তবুও এতে প্রচুর অগভীর প্রশ্ন / উত্তর জড়িত যা 'না টি সত্যিই সাইটে অনেক বেশি অবদান রাখে)। অতিরিক্তভাবে, খ্যাতি অর্জন করা অ্যাকাউন্টে বেশিরভাগ ক্ষেত্রেই নেতিবাচক কারণ এটি সাইটের আপনাকে সংযমী কাজ করতে সহায়তা করে; এবং সুবিধাগুলি অর্জন দুর্ঘটনাক্রমে ব্যাজ পাওয়ার ঝুঁকি বাড়ায়।
ais523

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

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

2
আমি মনে করি উত্তরটি সাইটে কিছু যুক্ত করে, তবে এটি সিডাব্লু না হলে আমি এমনভাবে পোস্ট করতে বাধ্য বোধ করি যা আমার মতে আকর্ষণীয় বলে পোস্ট করার চেয়ে আমার খ্যাতি অর্জন করবে; ফিরে যখন আমি 20k ব্যবহারকারী ছিলাম, আমি সত্যিই সাইটটিকে ঘৃণা করে শেষ করেছিলাম এবং সাধারণ কারণে কোড গল্ফ থেকে প্রায় মুখ ফিরিয়ে নিয়েছি, ফলে ফলস্বরূপ আমি আমার অ্যাকাউন্টটি মুছে ফেলেছি। যখন আমি ফিরে এসেছি, আমি পোস্ট করা প্রতিটি উত্তর দিয়ে আমার অ্যাকাউন্ট মুছে ফেলতাম (পরবর্তী উত্তরের জন্য একটি নতুন তৈরি করা), তবে অন্য কেউ উল্লেখ করেছেন যে প্রতিটি উত্তর সিউইংয়ের একই রকম প্রভাব ফেলবে, তাই আজকাল আমি তার পরিবর্তে তা করি।
ais523

4

05 এ বি 1 ই , 9 বাইট

একটি প্রোগ্রাম সংজ্ঞায়িত করে ।fNatList[List[Nat]]

কোড:

$L×0ýSDδ*

05AB1E- এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন! বা চমত্কার-মুদ্রিত সংস্করণ ব্যবহার করুন ।


ব্যাখ্যা:

$ # 1 নম্বর এবং ইনপুট এন 
 এল # পুশ করুন তালিকা তৈরি করুন [1, 2, 3, ..., n ]
  × # ভেক্টরাইজড স্ট্রিংয়ের গুণ: 1 × [1, 2, 3, ..., n ]
                 এর ফলে ["1", "11", "111", ..., "1" in n ]
   0ý # '0' এর সাথে ফলাফলের তালিকায় যোগ দিন, যার ফলে "10110111011110111110 ..."
     এস # একক সংখ্যায় বিভক্ত: [1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, ...]
      Dδ * # নিজের সাথে গুণিত টেবিল

4

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 96 95 বাইট

-1 বাইট অজ্ঞতার প্রতিমূর্তি ধন্যবাদ

n=>{var l="";for(;n>0;)l=new string('#',n--)+' '+l;for(;n<l.Length;)WriteLine(l[n++]>32?l:"");}

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


আর্গুমেন্টের মাধ্যমে ইনপুট তবে স্টডআউটের মাধ্যমে আউটপুট অনুমোদিত কিনা তা নিশ্চিত নয়
এএসসিআইআই-কেবল

3
আইও ফর্ম্যাটগুলি মেশানো ভাল
জো কিং

1
কেন বিভাগে যোগ করবেন n--না new string?
18:30


3

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

s='';n=input()
while n:s='#'*n+' '+s;n-=1
for c in s:print(c>' ')*s

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

খালি লাইনের জন্য ফাঁকা লাইনগুলি মুদ্রণ করে, যা চ্যালেঞ্জটি অনুমতি দেয়।

একই দৈর্ঘ্য (উপরে একটি ইনপুট সহ n):

r=range(input())
for n in r:print(' '.join(i*'#'for i in r)+'\n')*n

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



3

কাঠকয়লা , 18 বাইট

≔⪫EN×#⊕ι θEθ⭆θ⌊⟦ιλ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

   N                Input number
  E                 Map over implicit range
       ι            Current value
      ⊕             Incremented
    ×               Repetitions of
     #              Literal `#`
 ⪫                  Join with spaces
≔        θ          Assign to variable
           θ        Retrieve variable
          E         Map over characters
             θ      Retrieve variable
            ⭆      Replace characters with
              ⌊     Minimum of
               ⟦    List of
                ι   Row character
                 λ  Column character
                    Implicitly print each row on its own line

3

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

class M{static void Main(string[]a){int i=int.Parse(a[0]);var l="";for(;i>0;)l=new string('#',i--)+' '+l;for(;;)System.Console.WriteLine(l[i++]>32?l:"");}}

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

বিভিন্ন সহায়ক ব্যক্তি (মন্তব্যগুলি দেখুন) এর জন্য একটি অনেক সংশোধিত সংস্করণ ধন্যবাদ।




1
@ এম্বোডিমেন্টফ অজ্ঞতা অবৈধ, এন> = 10 ... এর জন্য কাজ করে না ...
ASCII- কেবল

1
@ এএসসিআইআই-কেবল এটিই
অজ্ঞতার

2
@ স্ট্যাকস্টাক হ্যাঁ একটি প্রোগ্রাম ক্র্যাশ করে শেষ করার অনুমতি দেওয়া হয়েছে
ASCII- কেবল


3

জাভা 11, 109 বাইট

n->{var l="";for(;n>0;)l="x".repeat(n--)+" "+l;for(;n<l.length();)System.out.println(l.charAt(n++)>32?l:"");}

@ ASCII- এর পোর্ট কেবলমাত্র সি #। নেট উত্তর

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

n->{                       // Method with integer parameter and no return-type
  var l="";                //  Line-String, starting empty
  for(;n>0;)               //  Loop until `n` is 0:
    l=...+l;               //   Prepend to `l`:
       "x".repeat(n--)+" " //    Repeat "x" `n` amount of times, appended with a space
                           //    And decrease `n` by 1 afterwards with `n--`
    for(;n<l.length();)    //   Inner loop as long as `n` is smaller than the length of `l`:
      System.out.println(  //    Print with trailing newline:
        l.charAt(n++)>32?  //     If the `n`'th character of the line-String is NOT a space:
                           //     And increase `n` by 1 afterwards with `n++`
         l                 //      Print the line-String
        :                  //     Else:
         "");}             //      Print nothing (so only the newlines)

এটি জাভা 11, 8 নয়, repeatপদ্ধতির কারণে ।
অলিভিয়ের গ্রাগোয়ার

@ অলিভিয়ারগ্রোগোয়ার ওফস .. স্থির
কেভিন ক্রুইজসেন

যদিও, লাম্বদা এমন একটি ব্যতিক্রম ছুঁড়ে দেওয়া কি গ্রহণযোগ্য? আমি ভেবেছিলাম এটি একটি সম্পূর্ণ প্রোগ্রামের জন্য ঠিক আছে, তবে ফাংশন / ব্যাতিক্রমের জন্য নয়
অলিভিয়ার গ্রাগোয়ার

@ অলিভিয়ারগ্রোগোয়ার যতক্ষণ না এটি প্রত্যাশিত ফলাফল প্রকাশ করে, ততদিন কেন দেখি না টিবিএইচ নয়।
কেভিন ক্রুইজসেন 16

1
এটি এই আলোচনার সাথে যুক্ত । উত্তরটি মনে হয় যদি REPL গৃহীত হয় (যা সেগুলি ডিফল্টরূপে হয় না), তবে স্টাডারের উপর মুদ্রণ করা বা একটি ব্যতিক্রম ছুঁড়ে ফেলা ভাল, তবে যদি REPL গৃহীত না হয় তবে কোনও স্ট্যান্ড / ব্যতিক্রম অনুমোদিত নয়।
অলিভিয়ের গ্রাগোয়ার

2

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

m/⍉(m←¯1↓∊(⍳n),¨¯1)/(n,n←⎕)⍴1

ব্যাখ্যা:

(n,n←⎕)⍴1 prompt for integer n and create a nxn matrix of 1s

(m←¯1↓∊(⍳n) replicate the columns by 1,2,.....n and insert 0s between each replication

m/⍉ repeat replication and 0 insertion for the rows from above 

উদাহরণ:

⎕:
3
1 0 1 1 0 1 1 1
0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1
1 0 1 1 0 1 1 1
0 0 0 0 0 0 0 0
1 0 1 1 0 1 1 1
1 0 1 1 0 1 1 1
1 0 1 1 0 1 1 1



2

রুবি , 55 বাইট

->n{(s=(1..n).map{|x|?#*x}*' ').chars.map{|c|c<?!?c:s}}

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

কিভাবে?

প্রথমে প্রথম লাইনটি তৈরি করুন, তারপরে অক্ষরের মাধ্যমে পুনরাবৃত্তি করুন। অক্ষরটি '#' হলে পুরো লাইনটি মুদ্রণ করুন, অন্যথায় একক অক্ষর মুদ্রণ করুন (যা একটি স্থান)



2

পার্ল 6 , 35 33 বাইট

{((\*Xx$_+1)~"
"Xx$_+1)>>.say}o^*

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

বেনামে কলযোগ্য যা একটি সংখ্যা নেয় এবং একটি অনুবর্তনযোগ্য *নিউলাইন দিয়ে এর সাথে গুণক টেবিলটি মুদ্রণ করে ।

ব্যাখ্যা:

{                             }o^* # Change the input to the range 0..n-1
  (\*Xx$_+1)    # Cross string multiply '*' by all of range 1..n
                # This creates the string "* ** *** ****" etc.
            ~"\n"                 # Append a newline
                 Xx$_+1           # Cross string multiply again
 (                     )>>.say    # And print all the lines

1

হাস্কেল, 69 68 বাইট

(a#b)0=[]
(a#b)n=(a#b)(n-1)++b:(a<$[1..n])
f n=((1#0)n#(0<$(1#0)n))n

সংখ্যার একটি ম্যাট্রিক্স প্রদান করে।

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

fএকই বাইট গণনা সহ রূপগুলি :

f n=((#)<*>(0<$)$(1#0)n)n
f n|l<-(1#0)n=(l#(0<$l))n

0 সারি এবং কলাম সাহায্য করে?
dfeuer

1
@ ডিফিউয়ার: হ্যাঁ, তারা একটি বাইট সংরক্ষণ করে। আমার উত্তরের প্রথম সংস্করণ দেখুন।
নিমি

1

স্ট্যাক্স , 7 বাইট

é╫▐§╘←╘

এটি চালান এবং এটি ডিবাগ করুন

নির্বাচিত চরিত্রটি ব্যাকটিক। (আপনি কীভাবে কোড ডাউনরেটে কোড ফর্ম্যাট করবেন?)

এর অর্থ aএবং bবহিরাগত হোয়াইটস্পেস হিসাবে বিবেচিত হয়।


1

ম্যাথগল্ফ , 20 বাইট

╒ÉÄ10;]h\■mÆε*╣¡§y╠n

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

ম্যাথগল্ফকে সত্যই বিভক্ত তালিকা এবং 2 ডি তালিকাগুলি তৈরি করার জন্য আরও কিছু কার্যকারিতা পাওয়া দরকার।

ব্যাখ্যা

╒                      range(1,n+1)
 É                     start block of length 3
  Ä                    start block of length 1
   1                   push 1
    0                  push 0
     ;                 discard TOS
      ]                end array / wrap stack in array
                       the stack now contains the list [1, 0, 1, 1, 0, 1, 1, 1, 0, 1, ...]
       h               length of array/string without popping (used for splitting string)
        \              swap top elements
         ■             cartesian product with itself for lists, next collatz item for numbers
          m            explicit map
           Æ           start block of length 5
            ε*         reduce list by multiplication (logical AND)
              ╣¡       push the string " #"
                §      get character at index 0 or 1 based on logical AND value
                       block ends here, stack is now ['#',' ','#','#',' ','#',...]
                 y     join array without separator to string
                  ╠    pop a, b, push b/a (divides the string using the length of a single line)
                   n   join array of strings with newlines

1

কালি , 151 152 151 বাইট

VAR k=0
=t(n)
~k=n
-(u)
~n--
{n+1:->s(k-n)->u}->->
=r(c)
->g(c)->
{k-c:<>->r(c+1)}->->
=g(n)
{n>1:@<>->g(n-1)}@->->
=s(n)
{n:
->r(1)->
->s(n-1)
}
.->->

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

ভাল জিনিস নিয়ম অতিরিক্ত অক্ষর অনুমতি দেয়।

সম্পাদনা: +1: স্থির ব্যবধান। এছাড়াও, # (যা দিয়ে পালানোর দরকার নেই) ব্যবহার করে প্রদর্শন করুন (যা করে)

সম্পাদনা: -১: আপাতদৃষ্টিতে এই সংশোধনটির অর্থ হ'ল খালি খালি লাইনে একটি নতুন লাইন চাপিয়ে দেওয়ার জন্য আমার আর চলার সময়কালের প্রয়োজন নেই। ঝরঝরে।


ওহ, আমি আসলেও সেই জায়গাগুলি লক্ষ্য করিনি। আমি তাদের সম্পর্কে কিছু করতে পারি কিনা তা আমি দেখতে পাচ্ছি ...
সারা জে


0

স্মাইলব্যাসিক, 83 77 বাইট

গ্রাফিকাল আউটপুট। ইনপুট হয়N-1

INPUT N
FOR J=0TO N
X=0FOR I=0TO N
GFILL X,Y,X+I,Y+J
X=X+I+2NEXT
Y=Y+J+2NEXT

0

পাইথন 3 , 88 83 বাইট

জো কিং এর থেকে 5 বাইট

n,l=range(int(input())),''
for i in n:l+='#'*-~i+' '
for j in n:print((l+'\n')*-~j)

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


আপনি lলুপের বাইরে ঘোষণা করে বাইটস সংরক্ষণ করতে পারেন । এটি অনলাইন চেষ্টা করুন!
জো কিং

@ জোনাথনফ্রেচ নতুন লাইনের স্ট্রিংয়ে একটি অতিরিক্ত জায়গা রয়েছে
জো কিং

0

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

{(1..$_).map(((1..$_).map("#"x*).join(" ")~"\n")x*).join("\n")}

1
.join(' ')কিছুই না, পরিবর্তে '#'হতে পারে \*, নতুন লাইনের স্ট্রিংগুলি আক্ষরিক নিউলাইনগুলি ব্যবহার l.map(str x*)করতে পারে , উভয় (str Xx l)পরিবর্তে হতে পারে । 38 বাইট
জো কিং

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