সর্বনিম্ন সাধারণ একাধিক চিত্রিত করুন


50

দুটি ধনাত্মক পূর্ণসংখ্যক, এ এবং বি দেওয়া হয়েছে, প্রথম লাইনে প্রতিটি অ্যাথ ড্যাশ এবং দ্বিতীয় লাইনে উল্লম্ব বারের সাহায্যে প্রতি বিথ ড্যাশ প্রতিস্থাপনের পরে দৈর্ঘ্যের এলসিএম (এ, বি) দিয়ে দুটি লাইন ড্যাশ ( ) লম্বা করে তাদের সর্বনিম্ন সাধারণ একক চিত্রিত করুন ( )।-|

এইভাবে, প্রতিটি লাইনের শেষটি কেবল দুটি জায়গার লাইন থাকবে |

উদাহরণস্বরূপ, যদি A = 6 এবং B = 4, LCM (6, 4) = 12, তাই:

two lines of 12 dashes:
------------
------------

replace every 6th dash in the first line with a vertical bar:
-----|-----|
------------

replace every 4th dash in the second line with a vertical bar:
-----|-----|
---|---|---|

সুতরাং চূড়ান্ত আউটপুট হবে

-----|-----|
---|---|---|

ইনপুট সংখ্যার ক্রমটি লাইনের ক্রমের সাথে মিলিত হওয়া উচিত।

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

Testcases

A B
line for A
line for B

1 1
|
|

1 2
||
-|

2 1
-|
||

2 2
-|
-|

6 4
-----|-----|
---|---|---|

4 6
---|---|---|
-----|-----|

2 3
-|-|-|
--|--|

3 2
--|--|
-|-|-|

3 6
--|--|
-----|

2 5
-|-|-|-|-|
----|----|

4 3
---|---|---|
--|--|--|--|

10 10
---------|
---------|

10 5
---------|
----|----|

10 6
---------|---------|---------|
-----|-----|-----|-----|-----|

24 8
-----------------------|
-------|-------|-------|

7 8
------|------|------|------|------|------|------|------|
-------|-------|-------|-------|-------|-------|-------|

6 8
-----|-----|-----|-----|
-------|-------|-------|

13 11
------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|------------|
----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|----------|

3
@ লেকইনুন কোডগল্ফ.স্ট্যাককেচেঞ্জের কাছ থেকে উত্তর বর্ধিত করা / উত্তর / তার চেয়ে বেশি সহজ বলে মনে হচ্ছে। যে কোনও উপায়ে, লোকেরা এটি করতে মজা পাবে যা একটি শালীন কারণ ইমো।
ক্যালভিনের

1
আমি কি প্রতিটি লাইনের জন্য দুটি স্ট্রিং সহ একটি অ্যারে আউটপুট করতে পারি?
ব্ল্যাকক্যাপ

@ ব্ল্যাকক্যাপ নং স্টার্ড বা কোনও ফাইলের জন্য স্ট্রিংগুলি মুদ্রণ করুন বা পুরো মাল্টলাইন স্ট্রিংটি ফিরিয়ে দিন।
ক্যালভিনের

2
নির্বিঘ্নে ইনপুট পরিচালনা করার জন্য বোনাস?
অ্যাডম

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

উত্তর:


11

পাইথন 3, 80 বাইট

হালভার্ড হুমেলকে 1 বাইট এবং জোনাথন অ্যালানকে 1 বাইট ধন্যবাদ সংরক্ষণিত।

import math
def f(*l):
 for k in 0,1:print(l[~k]//math.gcd(*l)*(~-l[k]*"-"+"|"))

এটি অনলাইন পরীক্ষা!

lambda*l:"\n".join(l[0]*l[1]//math.gcd(*l)//k*(~-k*"-"+"|")for k in l)
import math

এটি অনলাইন পরীক্ষা! (৮২ বাইট - প্রাথমিক উত্তর)

পাইথন 2 (81 বাইট) এ আমি এটি করতে পারি সেরা। দেখে মনে হচ্ছে আমি এই উত্তরে মন্তব্য করতে পারছি না, আমি কেবল এখানে পরিবর্তে এটি পোস্ট করব:

from fractions import*
l=a,b=input()
for k in l:print a*b/gcd(*l)/k*(~-k*"-"+"|")

এটি অনলাইন পরীক্ষা!

এখানে প্রথম প্রচেষ্টা, সম্ভবত সাব-অনুকূল!


2
পিপিসিজিতে আপনাকে স্বাগতম!
লাইকনি

3
@ লাইকনি আপনাকে ধন্যবাদ! এটি মজাদার সম্প্রদায়ের মতো মনে হচ্ছে :-)


@ হালওয়ার্ড হুমেল ধন্যবাদ, বিকল্প হিসাবে পোস্ট করবেন!

পুরোপুরি ডিফেরেন্ট পদ্ধতির চেষ্টা করার সময় আমি বুঝতে পেরেছিলাম যে আপনার সংস্করণটি ৮০-এ করা যেতে পারে ।
জোনাথন অ্যালান

10

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

x%y=unlines[["-|"!!(0^mod a b)|a<-[1..lcm x y]]|b<-[x,y]]

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


আমি এই 0^0=1কৌশলটি আগে কখনও দেখিনি - চালাক
ব্ল্যাকক্যাপ

@ ব্ল্যাকক্যাপ আমি নিজেই এটি দাবি করতে পারি না কারণ আমি এটি কয়েকবার আগে দেখেছি, যদিও আমি প্রথমে কৌশলটি কোথায় দেখেছি তা মনে নেই।
লাইকনি


6

এমএটিএল , 16 15 বাইট

'-|'!i&Zm:G\go)

ইনপুট দুটি সংখ্যা সহ একটি কলাম ভেক্টর। এটি অনলাইন চেষ্টা করুন!

বোনাস হিসাবে, ইনপুটটিতে দুটিরও বেশি সংখ্যা থাকতে পারে । এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

'-|'   % Push this string
!      % Transpose. This is needed because of input [1; 1]
i      % Input column vector of 2 (or N) numbers
&Zm    % LCM of the 2 (or N) numbers, say L
:      % Range
G      % Push input again
\      % Modulus, element-wise with broadcast. Gives a 2×L (or N×L) matrix
g      % Convert to logical: gives false for zeros, true for nonzeros
o      % Convert to double: gives 0 for false, 1 for true
)      % Index into string (modular, 1-based). Implicitly display

আমার মনে হয় তুমি বিড়ম্বনায় ফেলেছ He?
সানচিইস

ধন্যবাদ সাঞ্চাইজস! হ্যাঁ, এটি পূর্ববর্তী সংস্করণে ছিল, তবে এটি প্রয়োজনীয় নয়
লুইস মেন্ডো

এছাড়াও, এটি কি ট্রান্সপোজ ছাড়া কেবল সূক্ষ্মভাবে কাজ করবে? আপনি জিনিসগুলিকে
ওভারটিনিং করে চলেছেন

@ সাঞ্চাইজস ট্রান্সপোজ ব্যতীত এটি ইনপুটটির জন্য কাজ করে না [1; 1], এমএটিএল (এবি) কীভাবে সূচকের সাথে অ্যারে আকার পরিচালনা করে। (বিকল্পভাবে, ট্রান্সপোজটি Heশেষে প্রতিস্থাপন করা যেতে পারে , এ কারণেই এটি প্রাথমিকভাবে সেখানে ছিল)
লুইস মেন্ডো

আহ্ হ্যাঁ আমি বুঝতে পেরেছিলাম যে এটি সারি আচরণের কারণেই ছিল তবে আমি এই প্রান্তের বিষয়টি ভাবিনি।
সানচিইস

5

আর , 109 105 বাইট

function(a,b){q=1:a*b
l=min(q[!q%%a])
x=rep("-",l*2)
x[c(seq(0,l,a),l+seq(0,l,b))]="|"
write(x,"",l,,"")}

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

বেনামে ফাংশন। নির্ণয় l=lcm(a,b), তারপর পরিসীমা থেকে উত্পন্ন 0করতে lদ্বারা a, তারপর থেকে lকরার 2*lদ্বারা b, এর সূচকের সেটিং |সঙ্গে একটি ম্যাট্রিক্স হিসাবে এবং প্রিন্টিং lকলাম।



4

সি, 72 বাইট

i;f(x,y){for(i=1;i%y|i%x;)putchar(i++%x?45:124);puts("|");y>0&&f(y,-x);}

4

হুশ , 12 বাইট

†?'-'|TUṪ`%N

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

হ্যাঁ, হুশে একটি এলসিএম বিল্টিন রয়েছে। না, আমার দরকার নেই

বোনাস: যে কোনও সংখ্যার ইনপুট মান নিয়ে কাজ করে

ব্যাখ্যা

†?'-'|TUṪ`%N    input:[2,3]
        Ṫ`%N    table of all remainders of positive naturals divided by
                input numbers:
                             [[1,1],[0,2],[1,0],[0,1],[1,2],[0,0],[1,1],[0,2],...
       U        get all elements before the first repeated one:
                             [[1,1],[0,2],[1,0],[0,1],[1,2],[0,0]]
      T         transpose:   
                             [[1,0,1,0,1,0],[1,2,0,1,2,0]]
†?'-'|          replace all truthy elements with '-' and all falsy elements
                with '|': 
                             ["-|-|-|","--|--|"]
                implicit: since this is a full program, join the resulting array
                of strings with newlines, and print to stdout

4

গণিত, 63 বাইট

(s=LCM@##;Print[""<>If[i~Mod~#<1,"|","-"]~Table~{i,s}]&/@{##})&

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

এবং অন্য সংস্করণ যা ব্যবহারকারী 202729 সত্যই, সত্যই পোস্ট করা দেখতে চায়

গণিত, 59 বাইট

(s=LCM@##;Print[""<>If[#∣i,"|","-"]~Table~{i,s}]&/@{##})&  

এই একটি বিশেষ চরিত্র ব্যবহার করে \[Divides]


যদি এটি গাণিতিক হয় তবে আপনি সম্ভবত বিভাজকতার প্রতিনিধিত্ব করতে অপারেটরের \[Divides]পরিবর্তে ব্যবহার করতে পারেন Mod, যা 4 বাইট সংরক্ষণ করে। এছাড়াও ম্যাথিক্স টিআইও এর মুদ্রণ করা উচিত নয় {Null, Null}
ব্যবহারকারী 202729

@ user202729 আমি গণিতের মুদ্রণ স্থির করেছি।
J42161217

3
আমি মনে করি যে আপনার প্রথম মন্তব্য যথেষ্ট পরিষ্কার ছিল। আপনি যে সঠিক পরিবর্তন চান তা করতে দয়া করে আমাকে চাপ দেওয়া বন্ধ করুন। ব্যবহারকারীদের প্রতিক্রিয়া জানানোর জন্য কয়েক ঘন্টা দিন। আমাদের মধ্যে কেউ কেউ এই জায়গা থেকে একটি জীবন আছে
J42161217


3

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

অনুমান ⎕IO←0। এ, বি কে সঠিক যুক্তি হিসাবে গ্রহণ করে। বোনাস: যে কোনও দৈর্ঘ্যের ইনপুট তালিকা পরিচালনা করে!

{'|-'[⌽×⍵∘.|⍳∧/⍵]}

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

{... } বেনাম ল্যাম্বদা যেখানে সঠিক যুক্তি উপস্থাপন করে

'|-'[… এর ] সাথে স্ট্রিং সূচী করুন:

  ∧/ ইনপুট জুড়ে এলসিএম

   প্রথম যে অনেকগুলি ɩ ntegers (0 N-1 এর মাধ্যমে)

  ⍵∘.| উল্লম্বভাবে এবং আনুভূমিকভাবে ইনপুট সহ বিভাগের বাকী টেবিল

  × সংকেত

   অনুভূমিকভাবে ফ্লিপ করুন


প্রথম অনুমানের অর্থ কী?
ক্যালভিনের শখ

@ হেলকাহোম্বা এর অর্থ এই যে অ্যারে সূচক 0 থেকে শুরু হবে, এটি এপিএল দোভাষীদের উপর একটি ডিফল্ট, আমি বিশ্বাস করি।
কনর ও'ব্রায়েন

@ হেলকাহোম্বা যেহেতু এপিএল সিস্টেমগুলি 0-ভিত্তিক এবং 1-ভিত্তিক স্বাদে আসে তাই আমি কেবল অনুমানটি লিখি। অন্যথায় একজনকে দুটি এপিএল থাকতে হবে। উদাহরণস্বরূপ, এনএনজিএন / এপিএল উল্লেখ না করেই এই একই কোডটি চালাতে পারে⎕IO←0 , কারণ এটি সেখানে ডিফল্ট।
অ্যাডাম


3

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

f=(a,b,S,A=1)=>(A%a?'-':'|')+(A%a|A%b?f(a,b,S,A+1):S?'':`
`+f(b,a,1))

Aউভয় দ্বারা বিভাজ্য aএবং b- aএর বিভাজ্যতার উপর ভিত্তি করে ড্যাশ বা পাইপ আউটপুট আউট হওয়া পর্যন্ত পুনরাবৃত্তভাবে চালিত হয় A

ফাংশনটি তখন নিজেকে কল করে, অদলবদল aএবং b

Sপরিবর্তনশীল নিজেই অসীম কলিং থেকে ফাংশন বাধা দেয়।

পরীক্ষার কেস:


পূর্ববর্তী উত্তর:

জাভাস্ক্রিপ্ট (ES8), 91 বাইট

f=(a,b,i=2,g=(c,d)=>d?g(d,c%d):c)=>i?'|'.padStart(a,'-').repeat(b/g(a,b))+`
`+f(b,a,i-1):''

অ্যালগরিদম ব্যবহার করে:

lcm(a, b) = ab / gcd(a, b)
gcd(c, d) = d ? gcd(d, c%d) : c

দ্বিতীয় লাইনের আউটপুট দেওয়ার জন্য পুনরাবৃত্তভাবে নিজেকে একবার কল করে।

পরীক্ষার কেস:

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

f=(a,b,i=2,g=(c,d)=>!d=>d?c:g(d,c%d):c)=>i?('-'.repeat(a-1)+'|').repeat(a*bb/g(a,b)/a)+`
`+f(b,a,i-1):''

repeatপরিবর্তে ব্যবহার করে আগের মতো একই অ্যালগরিদম padStart


1
আমি ভেবেছিলাম padStartES8 ছিল?
নীল

1
f=(a,b,A=1)=>(A%a?'-':'|')+(A%a|A%b?f(a,b,A+1):a<0?'':`\n`+f(-b,a))
l4m2

@ l4m2, আমি একবছর আগে লিখেছি এমন কোডটি সবেই বুঝতে পারি, তবে দেখে মনে হচ্ছে আপনার কিছু বাইট শেভ করে দিয়েছে, ধন্যবাদ!
রিক হিচকক

3

স্কালা, 98 বাইট

print((a to a*b).find(l=>l%a+l%b==0).map(l=>("-"*(a-1)+"|")*(l/a)+"\n"+("-"*(b-1)+"|")*(l/b)).get)

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


হাই, পিপিসিজিতে আপনাকে স্বাগতম! এটি দেখতে দুর্দান্ত উত্তর বলে মনে হচ্ছে, সুতরাং আমার কাছ থেকে +1। আমি যেহেতু আমি Scala কখনো প্রোগ্রাম করেছি, নিশ্চিত নই করতে পারেন, কিন্তু *(a-1)করার golfed করা *~-aএবং *(b-1)করতে *~-b? এছাড়াও, আপনি সম্ভবত পরীক্ষার কোডের সাথে একটি টিআইও লিঙ্ক যুক্ত করতে পারেন ? (ওহ, এবং সেই
অবতারটি

2
ধন্যবাদ! সঙ্গে কৌতুক *~-aমহান, কিন্তু দুর্ভাগ্যবশত Scala আরও বন্ধনী প্রয়োজন: *(~(-a))স্পষ্ট করতে চাই যে concatenations *~-, *~, ~-অভিনব ফাংশন নাম নয়। আমি একটি টিআইও লিঙ্ক যুক্ত করেছি।
কিউবিক লেটুস

হ্যাঁ হ্যাঁ, ~-স্কালায় ফাংশনের নাম থাকতে পারে। আমার মনে আছে বেশ কিছুদিন আগে কেউ উল্লেখ করেছে। গল্ফিং সম্পর্কে এটি দুর্ভাগ্যজনক। আবার স্বাগতম, এবং প্রথম প্রথম উত্তর।
কেভিন ক্রুইজসেন


3

জাভা 8, 125 118 117 বাইট

a->b->{String A="\n",B=A,t="|";for(int i=1;!A.endsWith(t)|!B.endsWith(t);B+=i++%b<1?t:"-")A+=i%a<1?t:"-";return A+B;}

-7 বাইট @ নেভায়ে ধন্যবাদ ।
ট্রেলিং নতুন লাইনের সাথে শুরু করে -1 বাইট (এর A="",B="\n"সাথে প্রতিস্থাপিত)A="\n",B=A )।

ব্যাখ্যা:

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

a->b->{             // Method with two integer parameters and String return-type
  String A="\n",    //  String top line (starting with a trailing new-line)
         B=A,       //  String bottom-line (starting with a new-line)
         t="|";     //  Temp String "|" which is used multiple times
  for(int i=1;      //  Index-integer, starting at 1
      !A.endsWith(t)|!B.endsWith(t);
                    //  Loop as long as both Strings aren't ending with "|"
      B+=           //    After every iteration: append `B` with:
         i++%b<1?   //     If `i` is divisible by `b`:
                    //     (and increase `i` by 1 in the process)
          t         //      `t` (holding "|")
         :          //     Else:
          "-")      //      A literal "-"
    A+=             //   Append `A` with:
       i%a<1?       //    If `i` is divisible by `a`
        t           //     `t` (holding "|")
       :            //    Else:
        "-";        //     A literal "-"
                    //  End of loop (implicit / single-line body)
  return A+B;       //  Return both lines, separated by the new-line `B` started with
}                   // End of method

1
118 বাইট:a->b->{String A="",B="\n",k="|";for(int i=0;!A.endsWith(k)|!B.endsWith(k);B+=i%b<1?k:"-")A+=++i%a<1?k:"-";return A+B;}
নেভায়ে

@ নেভা ধন্যবাদ !A.endsWith(t)|!B.endsWith(t)দুজনেই শেষ হচ্ছে কিনা তা যাচাই করার জন্য যখন আমি একটি ছোট উপায়ের সন্ধান করছিলাম তখন আমি সবচেয়ে স্পষ্ট জিনিসটি মিস করতে পারি না বিশ্বাস করতে পারি না |... এবং ফেরতের সময় তাদের মধ্যে রাখার পরিবর্তে একটি নতুন লাইনের সাথে বি শুরু করাও স্মার্ট।
কেভিন ক্রুইজসেন

2

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

সম্পাদনা: @ লিকে নুনকে ধন্যবাদ 4 টি বাইট সংরক্ষণ করা হয়েছে

সম্পাদনা করুন: রডকে ধন্যবাদ 4 টি বাইট

lambda a,b:b/gcd(a,b)*("-"*~-a+"|")+"\n"+a/gcd(a,b)*("-"*~-b+"|")
from fractions import*

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


আরও নমনীয় আউটপুটের জন্য 88 বাইট বা 77 বাইট
রড করুন


1
দৃশ্যত স্ট্রিংগুলির একটি তালিকা আউটপুট করা গ্রহণযোগ্য নয়। : আমি প্রতিস্থাপন [...]সঙ্গে '\n'.join(...)ঠিক করতে।
সম্পূর্ণরূপে


2

হাস্কেল , 66 60 বাইট

a#b=do x<-[a,b];lcm a b`take`cycle(([2..x]>>"-")++"|")++"\n"

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


একই দৈর্ঘ্য:

a#b=unlines[take(lcm a b)$cycle$([2..x]>>"-")++"|"|x<-[a,b]]

পুরানো সমাধান:

l!x=[1..div l x]>>([2..x]>>"-")++"|"
a#b|l<-lcm a b=l!a++'\n':l!b

1
আপনি এটি দিয়ে একটি বাইট সংরক্ষণ করতে পারেন '\n':
লাইকনি

@ লাইকনি সাবধান, আমি আপনাকে বন্ধ করছি
ব্ল্যাকক্যাপ



1

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

2{H┌*┐+..*..g/mP

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

ব্যাখ্যা:

2{                two times do
  H                 decreate ToS - input - by 1
   ┌*               get that many dashes
     ┐+             append a vertical bar
       ..*          push both inputs multiplied           \
          ..g       push gcd(input1, input2)              | LCM - 7 bytes :/
             /      divide the multiblication by the GCD  /
              m     mold the string to that length
               P    print that in a new line

আপনি বাস্তবায়নের আগে নথিভুক্ত? o0
সম্পূর্ণমানবিক

1
@ আইক্রিরিটিম এসওজিএলে অনেকগুলি, অনেকগুলি ডকুমেন্টেড জিনিস রয়েছে যা বাস্তবায়িত হয় না। : p ডকুমেন্টেশনটি মূলত আমার টোডো তালিকা (যা আমি খুব কমই করি: পি)
ডিজাইমা

1

স্ট্যাকড , 42 38 বাইট

[:...lcm@z:[:z\/\#-'-'*\rep'|'+out]"!]

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

সংখ্যার জোড়া আকারে ইনপুট। সমস্ত পরীক্ষার কেস একসাথে বিল্ডিংয়ের মতো দেখায়।

ব্যাখ্যা

এটি প্রথমে lcmদুটি ইনপুট সংখ্যার মধ্যে নেয় z। তারপরে, প্রতিটি সংখ্যার জন্য kআমরা যুক্ত করে দৈর্ঘ্যের z / kস্ট্রিং তৈরি করি-k - 1| প্রত্যেকের শেষে যুক্ত করে এবং প্রতিটি আউটপুট করি।

পূর্ববর্তী গণনা করা প্রচেষ্টা

42 বাইট: [:...lcm@z:[:z\/\#-'-'*\rep'|'+''#`out]"!]

অন্যান্য প্রচেষ্টা

43 বাইট: [:...lcm@z:[:z\/\#-'-'*\rep'|'#`'|'+out]"!]

45 বাইট: ['@lcm'!#~@z,[:z\/\#-'-'*\rep'|'#`'|'+out]"!]

45 বাইট: [:...lcm@x[x'-'*\#<$betailmap'|'#`'|'+out]"!]

53 বাইট: [:...lcm'-'*@z#-'.'*'('\+')'+'.'+[z\'$1|'repl out]"!]

54 বাইট: [:...lcm@x{!x'-'*('('n#-'.'*').')''#`'$1|'repl out}"!]


1

জাভাস্ক্রিপ্ট (ES6), 89

f=(a,b,t=`
`,l=0,R=n=>'-'.repeat(n-1)+'|')=>l||1/t?f(a,b,l<0?t+R(b,l+=b):R(a,l-=a)+t,l):t

বারবার আসক্তি দিয়ে এলসিএম মূল্যায়ন করা।

কম গল্ফড

F=(a,b, sa='', sb='', la=0, lb=0)=>
{
    var R=n=>'-'.repeat(n-1)+'|'
    if (la != lb || la == 0)
    {
        if (la < lb) {
            sa += R(a)
            la += a
        }
        else
        {
            sb += R(b)
            lb += b
        }
        return F(a, b, sa, sb, la, lb)
    }
    else
        return sa+'\n'+sb
}

পরীক্ষা

f=(a,b,t=`
`,l=0,R=n=>'-'.repeat(n-1)+'|')=>l||1/t?f(a,b,l<0?t+R(b,l+=b):R(a,l-=a)+t,l):t

function update()
{
  var [a,b]=I.value.match(/\d+/g)
  R.textContent = f(+a,+b)
}  

update()
<input id=I oninput='update()' value='4 6'>
<pre id=R></pre>


1

ভিবিএ (এক্সেল), 144 142 বাইট

Sub q()
a=[a1]
b=[a2]
Do Until c=d And d="|"
e=e+1
c=IIf(e Mod a,"-","|")
d=IIf(e Mod b,"-","|")
f=f& c
g=g& d
Loop
Debug.? f& vbCr& g
End Sub

-২ বাইট। ধন্যবাদ স্যার ওয়াশিংটন গুয়েদেস


হ্যাঁ আপনাকে ধন্যবাদ ওয়াশিংটনগুয়েডসকে। :)
রিমুয়েল

1

রুবি , 64 57 বাইট

->a,b{[a,b].map{|n|(1..a.lcm(b)).map{|x|x%n>0??-:?|}*''}}

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

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


আপনার 'পুটস' অন্তর্ভুক্ত করার দরকার নেই, যদি ফাংশনটি 2 টি স্ট্রিং ঠিক করে দেয় তবে। এবং যদি আপনি এটি অ্যারের * অপারেটর ব্যবহার করে খাটো করতে পারেন (অ্যারে * '' array.join সমতূল্য)
গিগাবাইট

আপনার সহায়তার জন্য জিবি ধন্যবাদ!
স্ন্যাক

1

কাঠকয়লা , 32 30 29 বাইট

NθNη≔θζW﹪ζη≦⁺θζE⟦θη⟧…⁺×-⁻ι¹|ζ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। সম্পাদনা করুন: কেবলমাত্র ASCII- এর জন্য 1 বাইট সংরক্ষণ করা হয়েছে



@ এএসসিআইআই-নথিটিতে নতুন কিছু!
নীল

দলিল করার জন্য ধন্যবাদ! (দুঃখিত, আমি সত্যিই কিছু দলিল যদিও আমি উচিত মত মনে হয় না সত্যিই এটা করতে), আপনি যদি সেখানে আরো কিছু দস্তাবেজ হিসেবে রাখার জন্য কিছু মনে না করেন chat.stackexchange.com/transcript/240?m=40270513#40270513 chat.stackexchange। com / ট্রান্সক্রিপ্ট / 240? এম = 40270838 # 40270838 (নির্দেশক কাস্টগুলি কোথায় যেতে হবে তা নিশ্চিত নয়, তারা কমান্ড নয় এবং তারা অপারেটরও নয়)
ASCII- কেবল

1

গুগল শিটস, 77 বাইট

বেনামে ওয়ার্কশিট সূত্র যা A1:B1কলিং সেল থেকে রেঞ্জ এবং আউটপুটগুলি থেকে ইনপুট নেয়

=REPT(REPT("-",A1-1)&"|",LCM(1:1)/A1)&"
"&REPT(REPT("-",B1-1)&"|",LCM(1:1)/B1

-4 বাইটসকে @ ইঞ্জিনিয়ারটোস্টকে ধন্যবাদ


1
আপনি কি ধরে নিতে পারেন যে সারি 1 এর ইনপুট ছাড়া আর কিছুই নেই? যদি তা হয় তবে LCM(A1,B1)আপনি কেবল LCM(1:1)4 বাইট সংরক্ষণ করতে বাছাই করতে পারেন । আমি মনে করি একটি খালি প্রারম্ভিক শিট অনুমান করা এবং ইনপুট এবং সূত্র উভয় কোথায় তা নির্দিষ্ট করা যুক্তিযুক্ত।
ইঞ্জিনিয়ার টোস্ট

1

এক্সেল ভিবিএ, 79 বাইট

বেনামে ভিবিই তাত্ক্ষণিক উইন্ডো ফাংশন যা পরিসীমা থেকে ইনপুট নেয় [A1:B1]এবং তাদের এলসিএমের ভিজ্যুয়ালাইজেশনকে ভিবিই তাত্ক্ষণিক উইন্ডোতে আউটপুট করে।

এটি আমার গুগল পত্রকের উত্তরের একটি বন্দর ।

?[Rept(Rept("-",A1-1)&"|",LCM(1:1)/A1)]:?[Rept(Rept("-",B1-1)&"|",LCM(1:1)/B1)]

1

জাপট , 12 বাইট

£×/Ury)î|ù-X

জাপট ইন্টারপ্রেটার

সংখ্যার অ্যারে হিসাবে ইনপুট। স্ট্রিংগুলির অ্যারে হিসাবে আউটপুট -আর পতাকাটি আউটপুটটি কেমন দেখাচ্ছে তা সামান্য উন্নতি করে তবে যুক্তির জন্য এটি প্রয়োজনীয় নয়।

ব্যাখ্যা:

£              For each of the two inputs as X, print...
        |           The string "|"
         ù-X        Left-padded with "-" until it is X characters long
       î            Repeated until its length is
 ×/Ury)             The Least Common Multiple

সঞ্চয় করার জন্য কিছু বাইট খুঁজে পাওয়ার জন্য শেগিকে অতিরিক্ত ধন্যবাদ।



@ শেগি আকর্ষণীয়, আমি কখনও জাপটের সেই অংশটি সঠিকভাবে ব্যবহার করার কথা ভাবিনি।
কামিল দ্রাকারী

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