খুব সাধারণ গ্রিড চিহ্ন


29

একটি প্রোগ্রাম বা ফাংশন যা তিন ধনাত্মক পূর্ণসংখ্যা, পঃ, এইচ, আর এন লাগে লিখুন মুদ্রণ করুন বা আসতে একটি ওয়াট × H এর গ্রিড .'s যেখানে প্রত্যেক N তম .স্বাভাবিক ইংরেজি পড়া, যাতে একটি প্রতিস্থাপিত হয়েছে X

উদাহরণস্বরূপ, ডাব্লু = 7, এইচ = 3, এন = 3 প্রদত্ত গ্রিডটি 7 টি অক্ষর প্রশস্ত এবং 3 টি উচ্চ, এবং উপরের বাম দিক থেকে প্রতি তৃতীয় অক্ষর পাঠ্য হ'ল X:

..X..X.
.X..X..
X..X..X

একইভাবে, যদি ইনপুটটি ডাব্লু = 10, এইচ = 4, এন = 5 হয় তবে আউটপুটটি হবে:

....X....X
....X....X
....X....X
....X....X

নোট

  • "নরমাল ইংলিশ রিডিং অর্ডার" এর অর্থ উপরের লাইন থেকে নীচে প্রতিটি লাইনে বাম থেকে ডানদিকে যাওয়া।
  • যখন এন 1 হবে তখন সমস্ত .'এর হয়ে যাবে X
  • আপনি যে কোনো দুটি স্বতন্ত্র ব্যবহার করতে পারেন মুদ্রণযোগ্য হওয়া ASCII স্থানে অক্ষর .এবং X
    • আপনি যদি স্থান ( ) ব্যবহার করেন তবে ফলাফলটি দৃশ্যত একই হবে যখন পিছনের জায়গাগুলি প্রয়োজন হয় না। (খালি লাইনগুলি এখনও প্রয়োজনীয়))
    • গ্রিডকে আকৃতিযুক্ত নতুন লাইনের জায়গায় আপনি অন্য কিছু ব্যবহার নাও করতে পারেন।
  • ডাব্লু, এইচ, এবং এন এর সঠিক ইনপুট ফর্ম্যাট এবং অর্ডার অত্যন্ত গুরুত্বপূর্ণ নয়। মত [H,W,N]বা N\nW,Hঠিক আছে জিনিস ।
  • আউটপুটে একটি পিছনের নতুন লাইন ঠিক আছে।
  • বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জিতেছে!

উদাহরণ

W = 5, H = 3, N = 1
XXXXX
XXXXX
XXXXX

W = 5, H = 3, N = 2
.X.X.
X.X.X
.X.X.

W = 5, H = 3, N = 3
..X..
X..X.
.X..X

W = 5, H = 3, N = 4
...X.
..X..
.X...

W = 5, H = 3, N = 5
....X
....X
....X

W = 5, H = 3, N = 6
.....
X....
.X...

W = 5, H = 3, N = 7
.....
.X...
...X.

W = 5, H = 3, N = 15
.....
.....
....X

W = 5, H = 3, N = 16 (or more)
.....
.....
.....

W = 1, H = 1, N = 1
X

W = 1, H = 1, N = 2 (or more)
.

W = 8, H = 6, N = 2
.X.X.X.X
.X.X.X.X
.X.X.X.X
.X.X.X.X
.X.X.X.X
.X.X.X.X

W = 8, H = 6, N = 3
..X..X..
X..X..X.
.X..X..X
..X..X..
X..X..X.
.X..X..X

W = 8, H = 6, N = 4
...X...X
...X...X
...X...X
...X...X
...X...X
...X...X

W = 8, H = 6, N = 7
......X.
.....X..
....X...
...X....
..X.....
.X......

W = 8, H = 6, N = 16
........
.......X
........
.......X
........
.......X

W = 37, H = 1, N = 4
...X...X...X...X...X...X...X...X...X.

W = 1, H = 10, N = 8
.
.
.
.
.
.
.
X
.
.

1
আমি কি ধরে নিচ্ছি যে এই বিধিনিষেধ " নতুন গ্রন্থাগুলি যে গ্রিডকে আকৃতি দেয় তার জায়গায় আপনি অন্য কিছু ব্যবহার নাও করতে পারেন["..X..X.", ".X..X..", "X..X..X"] " এতে " আপনি গ্রিড হিসাবে কোনও অ্যারে ফেরত দিতে পারেন না " অন্তর্ভুক্ত রয়েছে ?
পিটার টেলর

@ পিটারটেলর সঠিক
ক্যালভিনের শখ

উত্তর:


13

জে, 9 5 বাইট

$":&1

ফাঁকা স্থান এবং এর ব্যবহার করে এবং 1ফর্মটিতে ইনপুট আশা করেH W f N

ব্যাখ্যা:

$":&1
   &1 bonds the fixed right argument 1 to ":
 ":   formats the right argument number (1) to take up left argument (N) number of cells
      padding with spaces, resulting  in "  1"
$     reshape to H-by-W with repeating the string if necessary 

ব্যবহার:

   3 7 ($":&1) 3
  1  1 
 1  1  
1  1  1

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


যদি ডাব্লু * এইচ এন এর চেয়ে কম হয় তবে এটিও অ্যারেটি কেটে ফেলবে?
মার্টিন এন্ডার

@ মার্টিনব্যাটনার হ্যাঁ
এলোমেলো

যুক্তি যদি হয় ($":&1)তবে তা কি 7 বাইট হিসাবে গণনা করা হবে না?
রেটো কোরাাদি

1
না, ()তারা ফাংশনের অংশ নয়; আপনি লিখতে পারেন f =. $":&1এবং তারপর 3 7 f 3
লিন

11

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

w,h,n=input()
s='%%%dd'%n%0*w*h
exec"print s[:w];s=s[w:];"*h

এই স্থান এবং ছাপে 0স্থানে .এবং X। আকারে টিপল হিসাবে ইনপুট নেওয়া হয় w,h,n


4
এটি একটি চালাক স্ট্রিং ফর্ম্যাট।
xnor

7

জে, 12 বাইট

$'X'_1}#&'.'

এটি একটি ডায়াডিক ফাংশন যা অ্যারেটিকে H Wতার বাম আর্গুমেন্ট Nহিসাবে এবং তার ডান আর্গুমেন্ট হিসাবে গ্রহণ করে। ব্যবহার:

  f =: $'X'_1}#&'.'
  3 5 f 3
..X..
X..X.
.X..X

ব্যাখ্যা

$'X'_1}#&'.'
         '.'  The character '.'
       #&     repeated N times
    _1}       with the last character
 'X'          replaced by 'X'
$             reshaped into an HxW array

কাজের সঠিক সরঞ্জাম ?
অ্যাডিসন ক্রম্প

ব্যবহার কি X.আসলেই স্বল্পতম?
lirtosiast

@ থমাসকওয়া আমি এটি বিশ্বাস করি। আমি পরিবর্তে 0 এবং 1 নম্বরগুলি ব্যবহার করার চেষ্টা করেছি, তবে তারপরে আমাকে প্রথম _1বন্ধনী দিয়ে ঘিরে ফেলতে হয়েছিল , এবং কলামগুলির মধ্যে ফাঁকা স্থানগুলি ফর্ম্যাট করতে হয়েছিল, এবং এটি দীর্ঘতর হয়ে গেছে।
Zgarb

5

বিবিসি বেসিক, 67 এএসসিআইআই অক্ষর, টোকেনাইজড ফাইলাইজ 43 বাইট

Http://www.bbcbasic.co.uk/bbcwin/download.html এ দোভাষী ডাউনলোড করুন

INPUTw,h,n:WIDTHw:PRINTLEFT$(STRING$(w*h,STRING$(n-1,".")+"X"),w*h)

মাঠের প্রস্থ সীমাবদ্ধ করার জন্য বিবিসি বেসিকের একটি কার্যকর কমান্ড রয়েছে। আমরা ব্যবহার STRING$করতে w*hএর স্ট্রিং কপি n-1একটি এক্স দ্বারা অনুসরণ সময়সীমার তারপর আমরা বাম $ এই অগ্রভাগ ছাঁটিয়া করার জন্য ব্যবহার w*hঅক্ষর।


4

মিনকোলং 0.14 , 34 30 28 22 বাইট

n2-D1n$zn[z[1Rd6ZO]lO]

এখানে একটি কেস চেক করুন এবং এখানে সমস্ত পরীক্ষার কেস চেক করুন। মত ইনপুট আশা N W H

ব্যাখ্যা

n                 Take number from input (N)
 2-               Subtract 2
   D              Duplicate the top of stack (which is 0 because it's empty) N-2 times
    1             Push a 1 onto the stack
n                 Take number from input (W)
 $z               Store W in the register (z)
n                 Take number from input (H)
 [                Open a for loop that repeats H times
  z[              Open a for loop that repeats W times
    1R            Rotate 1 step to the right
      d           Duplicate top of stack
       6Z         Convert number to string
         O        Output as character
          ]       Close for loop
           lO     Output a newline
             ]    Close for loop

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


সুতরাং আপনার তুলনা করা সহজ। (দ্রষ্টব্য যে এটি ঠিক একই কোড নয়))
এল'েন্ডিয়া স্টারম্যান

তোমার আগে! : পি :)
এল'েন্ডিয়া স্টারম্যান

4

সিজেএম (16 বাইট)

{1$*,:)@f%:!/N*}

ক্রমে স্ট্যাকের উপর ইনপুট নেয় N W H, অক্ষর 0এবং ব্যবহার করে স্ট্রিং দেয় 1অনলাইন ডেমো

ব্যবচ্ছেদ

{        e# Anonymous function. Stack: N W H
  1$*,   e# Stack: N W [0 1 ... W*H-1]
  :)     e# Stack: N W [1 2 ... W*H]
  @f%    e# Stack: W [1%N 2%N ... W*H%N]
  :!     e# Map Boolean not, taking 0 to 1 and anything else to 0
  /      e# Split into W-sized chunks (i.e. the lines of the grid)
  N*     e# Join the lines with newlines
}

; -; আপনি আমাকে বীট ;-; তবে ভাল কাজ! : ডি
anOKsquirrel

4

এপিএল, 13 বাইট

{⍪,/⍕¨⍺⍴⍵=⍳⍵}

এটি H Wবাম আর্গুমেন্ট Nহিসাবে এবং ডান আর্গুমেন্ট হিসাবে গ্রহণ করে।

ব্যাখ্যা:

{⍪,/⍕¨⍺⍴⍵=⍳⍵}     Dyadic function (args are ⍺ on left, ⍵ on right):
        ⍵=⍳⍵      ⍵ = (1 2 3...⍵); this is ⍵-1 0s followed by a 1
      ⍺⍴          Shape by the left argument; e.g. 5 3 gives a 5x3 array
    ⍕¨            Stringify each entry
  ,/              Join the strings in each row 
 ⍪                Make column vector of strings

এটি অনলাইনে ব্যবহার করে দেখুন: প্রথম পরীক্ষার কেস , শেষ পরীক্ষার কেস । মনে রাখবেন যে এটি বক্সযুক্ত আউটপুট দেখায়, ডায়ালগের আমার অনুলিপিটি এটি করে না।


সেগুলি কি আসলে বাক্স, বা এসই অ্যাপ্লিকেশনগুলি অক্ষরগুলি সঠিকভাবে প্রদর্শন করছে না?
কার্সিজিনিট

পছন্দ করেছেন অক্ষরগুলি অনলাইন লিঙ্কে সূক্ষ্ম প্রদর্শন করা উচিত, কারণ এটির একটি আলাদা ফন্ট রয়েছে।
lirtosiast

আহ, ঠিক আছে। আমি সেটা মিস করছিলাম. আপনার কি বিশেষ কীবোর্ড আছে বা আপনি একটি মাসোশিস্ট?
কারসিজেনিকেট

@ কারসিজেনিকেট ট্রাইপল-এ (এবং ডায়ালগ স্টুডেন্ট সংস্করণ) আপনি ব্যাকটিক্স ব্যবহার করে এপিএল অক্ষর টাইপ করতে পারেন। উদাহরণস্বরূপ `একটি রূপান্তর ⍺
lirtosiast

2

সিজেম, 20 বাইট

q~:Z;_@*,:){Z%!}%/N*

এইচডাব্লু এন হিসাবে ইনপুট নেয়



স্থির: D: D: D: D
anOKsquirrel

অন্যান্য ভাষাগুলির কয়েকটি সমাধানের তুলনায় এখনও অনেক দীর্ঘ, তবে আমি সিজোমের সাথে এটি 18 বাইট পেয়েছি: q~_@*,@(S*'X+f=/N*এনএইচ
ডাব্লুকে

1
@RetoKoradi প্রতিস্থাপন দ্বারা বন্ধ আরেকটা নিন 'Xসঙ্গে 0, এবং যে 17 হবেন
Sp3000

2

ম্যাটল্যাব, 61 55 54 বাইট

function c=g(d,n);b=ones(d);b(n:n:end)=0;c=[b'+45,''];

বাহ, আমি ভেবেছিলাম ম্যাটল্যাব এটির মধ্যে প্রতিযোগিতামূলক হবে তবে আমি কতটা ভুল!

ফাংশনটি সঠিক মাত্রার 1 টির একটি অ্যারে তৈরি করে এবং তারপরে প্রতিটি n'th উপাদানকে 0 হতে সেট করে (MATLAB সূক্ষ্মভাবে সূচকগুলিকে 2D তে মোড়ানো পরিচালনা করে)। এরপরে আমরা এই সংখ্যায় 45 ('-') যুক্ত করব এবং ফেরত দেওয়ার জন্য একটি চর অ্যারে রূপান্তরিত করব।

প্রশ্নগুলি গ্রিডের জন্য কোনও পৃথক দুটি ASCII অক্ষর ব্যবহার করার অনুমতি দেয়, আমি কিছু বাইট সংরক্ষণ করতে 'x' এর জায়গায় '-' ব্যবহার করছি। ইনপুট ফর্ম্যাটটিও স্থির নয়, সুতরাং এটি সরবরাহ করা উচিত [w h],n- অর্থাত্ প্রস্থ এবং উচ্চতার অ্যারে এবং তারপরে এনটিকে দ্বিতীয় প্যারামিটার হিসাবে সরবরাহ করা উচিত ।


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

g([4,5],3)

কোন ফলাফল:

..-.
.-..
-..-
..-.
.-..

একটি বাইট সংরক্ষণ করুন:c=[b'+45,''];
স্টিভি গ্রিফিন

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

2

প্রসেসিং, 93 বাইট (জাভা, 104 বাইট)

void f(int a,int b,int c){for(int i=0;i<a*b;i++)print((i%c>c-2?"X":".")+(i%a>a-2?"\n":""));}}

জাভার পরিবর্তে আমি প্রসেসিংটি ব্যবহার করার কারণটি হ'ল টিপিংয়ের মাধ্যমে আপনাকে পয়েন্টারটি System.outঅ্যাক্সেস করতে হবে না কারণ একটি স্থানীয় ভেরিয়েবল সরাসরি অ্যাক্সেসযোগ্য। আমি এটি দিয়ে 11 বাইট উপার্জন করেছি। ফাংশন ফলাফলটি দেয় না তবে মুদ্রণ করে।


2
আপনি ইনক্রিমেন্টটি (যেমন i++%a...) স্থানান্তরিত করে অন্যকে সংরক্ষণ করতে পারেন এবং দেখে মনে হচ্ছে আপনার }শেষে প্রয়োজন নেই এমন অতিরিক্ত ছাড়ও রেখেছেন ।
জিওবিটস

2

জাপট , 33 32 27 25 বাইট

SpW-1 +Q p-~U*V/W f'.pU)·

ফর্ম্যাট ইনপুট লাগে W H N। ব্যবহার  এবং "স্থানে .এবং Xযথাক্রমে। এটি অনলাইন চেষ্টা করুন!

অবহেলিত এবং ব্যাখ্যা

SpW-1 +Q p-~U*V/W f'.pU)·qR
          // Implicit: U = width, V = height, W = interval
SpW-1 +Q  // Create a string of W - 1 spaces, plus a quotation mark.
p-~U*V/W  // Repeat this string ceil(U*V/W) times.
f'.pU)    // Split the resulting string into groups of U characters.
qR        // Join with newlines.
          // Implicit: output last expression

পরামর্শ স্বাগত!


2

ভিটসি , 25 23 22 21 19 বাইট

আমার ডুপ্লিকেট প্রয়োজন নেই এবং আমাকে 2 বাইট সংরক্ষণ করার জন্য @ এসপি 3000 কে ধন্যবাদ!

হিসাবে ইনপুট লাগে N W Hএটি অনলাইন চেষ্টা করুন!

1}\0XrV\[V\[{DN]aO]
1                         Push 1 to the stack.
 }                        Push the backmost to the front and subtract 2.
  \0X                     Duplicate the 0 temp variable times.
     r                    Reverse the stack.
      V                   Save as final global variable.
       \[         ]       Repeat top item times.
         V\[   ]          Repeat global variable times.
            {DO           Duplicate, output, then shift over an item.
                aO        Output a newline.

1

কে, 21 19 18 14 বাইট

যুক্তি হিসাবে গ্রহণ করে (H W;N):

{".X"x#y=1+!y}

কর্মে:

  f:{".X"x#y=1+!y};

  f.'((3 5;1);(3 5;2);(3 7;3);(4 10;5);(3 5;16))
(("XXXXX"
  "XXXXX"
  "XXXXX")
 (".X.X."
  "X.X.X"
  ".X.X.")
 ("..X..X."
  ".X..X.."
  "X..X..X")
 ("....X....X"
  "....X....X"
  "....X....X"
  "....X....X")
 ("....."
  "....."
  "....."))


1

আর, 66 বাইট

function(w,h,n){x=rep(".",a<-w*h);x[1:a%%n<1]="X";matrix(x,h,w,T)}

এটি এমন একটি ফাংশন যা তিনটি পূর্ণসংখ্যা গ্রহণ করে এবং অক্ষরের মানগুলির একটি ম্যাট্রিক্স প্রদান করে। এটি কল করতে, এটি একটি ভেরিয়েবলের জন্য বরাদ্দ করুন।

Ungolfed:

f <- function(w, h, n) {
    # Get the area of the square
    a <- w*h

    # Construct a vector of dots
    x <- rep(".", a)

    # Replace every nth entry with X
    x[1:a %% n == 0] <- "X"

    # Return a matrix constructed by row
    matrix(x, nrow = h, ncol = w, byrow = TRUE)
}

1

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

(w,h,n)=>eval('for(i=r=``;i++<w*h;i%w?0:r+=`\n`)r+=i%n?0:1')

ব্যাখ্যা

(w,h,n)=>eval('    // use eval to remove need for return keyword
  for(
    i=             // i = current grid index
      r=``;        // r = result
    i++<w*h;       // iterate for each index of the grid
    i%w?0:r+=`\n`  // if we are at the end of a line, print a newline character
                   // note: we need to escape the newline character inside the template
  )                //       string because this is already inside a string for the eval
    r+=i%n?0:1     // add a 0 for . or 1 for X to the result
                   // implicit: return r
')

পরীক্ষা


1

গণিত, 85 বাইট

""<>(#<>"
"&/@ReplacePart["."~Table~{t=# #2},List/@Range[#3,t,#3]->"X"]~Partition~#)&

অন্যান্য অনেকগুলি সমাধানের মতো এটি একটি একক সারি তৈরি করে, তারপরে এটি বিভাজন করে।


1

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

(w,h,n)=>(f=i=>i++<w*h?+!(i%n)+(i%w?"":`
`)+f(i):"")(0)

রিটার্নের স্টেটমেন্ট সংরক্ষণ করতে লুপ করতে আইআইএফই ব্যবহার করে f

ডাব্লু = 5, এইচ = 3, এন = 7 এর আউটপুট:

00000
01000
00010

1

সি #, 185 বাইট

using System;class x{void a(int w,int h,int n){int c=1;for(int i=0;i<h;i++){for(int j=1;j<=w;j++){if(c%n==0){Console.Write("x");}else{Console.Write(".");}c++;}Console.WriteLine();}}}

আরও পঠনযোগ্য পড়ার জন্য:

using System;
class x
{
  void a(int w, int h, int n)
  {
    int c = 1;
    for (int i = 0; i < h; i++)
    {
        for (int j = 1; j <= w; j++)
        {
            if (c % n == 0)
            {
                Console.Write("x");
            }
            else
            {
                Console.Write(".");
            }
            c++;
        }
        Console.WriteLine();
     }
  }
}

ব্যবহার:

new x().a(7, 3, 3);

0

জুলিয়া, 50 বাইট

f(w,h,n)=reshape([i%n<1?"X":"." for i=1:w*h],w,h)'

এটি একটি ফাংশন তৈরি করে fযা তিনটি পূর্ণসংখ্যা গ্রহণ করে এবং একটি 2-মাত্রিক স্ট্রিং দেয় returns

Ungolfed:

function f(w::Integer, h::Integer, n::Integer)
    # Construct an array of strings in reading order
    a = [i % n == 0 ? "X" : "." for i = 1:w*h]

    # Reshape this columnwise into a w×h array
    r = reshape(a, w, h)

    # Return the transpose
    return transpose(r)
end

0

রুবি, 67 56 বাইট

->w,h,n{(1..h).map{(1..w).map{o,$.=$.%n<1?1:0,$.+=1;o}}}

এটি গৃহীত হওয়ার পরে কোনও অ্যারে মুদ্রণ করা হচ্ছে।

67 বাইট

->w,h,n{i=1;puts (1..h).map{(1..w).map{o,i=i%n<1?1:0,i+=1;o}.join}}

Ungolfed:

-> w, h, n {
  (1..h).map {
    (1..w).map {
      o, $. = $.%n < 1 ? 1 : 0, $.+ = 1
      o
    }
  }
}

ব্যবহার:

->w,h,n{(1..h).map{(1..w).map{o,$.=$.%n<1?1:0,$.+=1;o}}}[8,6,7]
=> [[0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0]]

0

ম্যাটল্যাব, 44 বাইট

দ্রষ্টব্য: টম কার্পেন্টার ব্যবহার করা পদ্ধতির চেয়ে একেবারে ভিন্ন পদ্ধতি।

@(x,y)char(reshape(~mod(1:prod(x),y),x)'+46)

একটি বেনামী ফাংশন সংজ্ঞায়িত করে যা ইনপুট হিসাবে গ্রহণ করে [W,H],N। আমি অ্যারে 1: ডাব্লু * এইচ এর জন্য নন-দ্য মডুলো-অফ- এন ব্যবহার করে এই সমস্যার কাছে পৌঁছেছি এবং তারপরে কেবলমাত্র দ্বি-মাত্রিক অ্যারের সমাধানটি পুনরায় আকার দিয়েছি, যা পরে একটি অক্ষরের অ্যারেতে রূপান্তরিত হয়।

উদাহরণস্বরূপ আউটপুট [5,3],7:

.....
./...
.../.

0

কমন লিস্প, এসবিসিএল, 94 বাইট

(lambda(a b c)(dotimes(i(* a b))(format t"~:[.~;X~]~@[~%~]"(=(mod(1+ i)c)0)(=(mod(1+ i)a)0))))

ব্যাখ্যা

~:[.~;X~] <-- takes argument - if argument is true write ., if false write X
~@[~%~] <-- takes argument - if argument is true write newline, if not treat argument as if it was not used

(=(mod(1+ i)c)0)(=(mod(1+ i)a)0) দেখতে বেশ নির্বোধ দেখাচ্ছে (কারণ এটি এতটা অবিচ্ছিন্ন তবে এটি বাইটস সঞ্চয় করে সমাধান করা যায় কিনা তা আমি জানি না

আমি এর (1+ i)পরিবর্তে ব্যবহার করি iকারণ এটি dotimesশুরু হয় i=0এবং আমি শুরু করতে চাই 1। এটিও সহায়ক কারণ আমি (* a b)পরিবর্তে ব্যবহার করতে পারি(1+(* a b))


-1

জাভা, 185 183 বাইট

থমাস কোওয়া ধন্যবাদ, আমাকে 2 বাইট সংরক্ষণ করার জন্য!

interface B{static void main(String[] a){int w = Byte.parseByte(a[0]);for(int i=0;i++<w*Byte.parseByte(a[1]);)System.out.print((i%Byte.parseByte(a[2])>0?".":"X")+(i%w<1?"\n":""));}}

অবরুদ্ধ (ইশ):

interface A {
  static void main(String[] a) {
    int w = Byte.parseByte(a[0]);
    for(
      int i = 0;
      i++ < w*Byte.parseByte(a[1]);
    )
      System.out.print((
        i%Byte.parseByte(a[2]) > 0 ? "." : "X"
        )+(
        i%w < 1 ? "\n" : ""
      ));
  }
}

ব্যবহার:

$ java B 5 3 7
.....
.X...
...X.

হয়তো জাভা একদিন জিতবে: পি


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