একটি সাধারণ প্যাটার্ন


17

ইনপুট:

আপনার পছন্দের ইনপুট বিন্যাসে দুটি একক অঙ্ক (আসুন তাদের কল করুন mএবং n) এবং দুটি অক্ষর (আসুন তাদের কল করুন aএবং b)।

আউটপুট:

ওয়াকথ্রোর জন্য, ভান করুন m=2, n=5, a='a', b='b'

আপনার আউটপুটটি আপনার চারটি ইনপুট থেকে তৈরি স্ট্রিং হবে। আসুন resultমান সহ স্ট্রিং কল করুন ""। প্রথমত, CONCATENATE aসম্মুখের result mবার CONCATENATE তাই aসম্মুখের দিকে result 2বার। resultএখন সমান aa। দ্বিতীয়ত, CONCATENATE bসম্মুখের result mবার CONCATENATE তাই bসম্মুখের দিকে result 2বার। resultএখন সমান aabb। শেষ অবধি, ফলাফল যদি এর চেয়ে বেশি দীর্ঘ হয় তবে nছেদ করুন resultযাতে এটির দৈর্ঘ্য রয়েছে n। অন্যথায়, mদৈর্ঘ্য aএবং এর দৈর্ঘ্য bহওয়া অবধি দৈর্ঘ্য রানের সাথে পর্যায়ক্রমে চালিয়ে যান । চূড়ান্ত হয় যা দৈর্ঘ্য আছে, ।resultnresultaabba5

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

Input: m = 2, n = 4, a = A, b = B

Output: AABB

Input: m = 3, n = 8, a = A, b = B

Output: AAABBBAA

Input: m = 4, n = 3, a = A, b = B

Output: AAA

Input: m = 2, n = 10, a = A, b = B

Output: AABBAABBAA 

যেহেতু সবাই জানে, কম বিশ্বের উপর রাজত্ব করবে, তাই ক্ষুদ্রতম প্রোগ্রামগুলি, বাইটে, জিতে! :)


"আউটপুটে মোট চরটি 'এন' হবে এবং" বিশ্বের সবচেয়ে কম লোক শাসন করবে "বলতে কী বোঝায়?
এরিক আউটগল্ফার

আমি মূলত চ্যালেঞ্জটি পুনরায় লিখেছিলাম, যা আমি বিশ্বাস করি তা আপনার মূল উদ্দেশ্য ছিল। আপনি চাইলে রোলব্যাক করতে পারেন, তবে এর মূল অবস্থায় এটি আবার খুলতে যাচ্ছে না।
স্টিফেন

@ স্টেপহেন আপনি আমার দিনটি বাঁচিয়েছেন: পি গ্রেসিয়াস :)
দুর্গা

@ দুর্গা কোনও সমস্যা নেই :) আপনি খুশি তাই বলে এখনও খুশি হলাম।
স্টিফেন

2
@Durga প্রস্তাবিত পরীক্ষা মামলা:m=2,n=10,a=A,b=B
ডান্ডা

উত্তর:


8

পাইথন , 32 বাইট

lambda m,n,a,b:((a*m+b*m)*n)[:n]

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


বেনামে ফাংশনগুলি সর্বশেষে আমি যাচাই করে দেখেছি যাতে আপনি f=-2 বাইটের জন্য সরাতে পারেন ।
কমরেড স্পার্কলপনি

@ কমরেড স্পার্কলপনি: মাথা উঁচু করার জন্য ধন্যবাদ। এটি টিআইও থেকে বাকী ছিল; আমি আসলে এটিকে বাইট কাউন্ট থেকে ইতিমধ্যে মুছে ফেলেছি।
জুলিয়ান ওল্ফ

2
আপনি f=টিআইওর শিরোলেখ বিভাগে রাখতে পারেন, সুতরাং আপনাকে এটি ম্যানুয়ালি সরানোর দরকার নেই। টিআইও
20-15 এ ovs

আহ, আমি সর্বদা ব্যাকস্ল্যাশগুলির কথা ভুলে যাই। ধন্যবাদ।
জুলিয়ান ওল্ফ

1
যাঁরা সম্পাদনার পরামর্শ দিয়েছেন (a*m+b*m)-> (a+b)*m: এটি কার্যকর হয় না।
জুলিয়ান ওল্ফ

6

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

Y"i:)

ইনপুট দুই অক্ষর একটি স্ট্রিং, তারপর mতারপর, n

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

ব্যাখ্যা

Y"   % Implicit inputs: string and number m. Apply run-length decoding.
     % The second input is reused for each char in the first. Gives a
     % string
i    % Input number n
:    % Push vector [1 2 ... n]
)    % Index the string with the numbers in that vector. Indexing is
     % modular, so the chars are reused if necessary. Implicit display



5

জাপট , 10 বাইট

VîUçW +UçX

প্রথমে একটি গল্ফিং ভাষা ব্যবহার করার চেষ্টা করুন। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

Vî          // repeat the following until it reaches length V (second input)
  UçW       // third input repeated U (first input) times
      +UçX  // plus the fourth input, repeated U times

জাপট ব্যবহার করার জন্য ধন্যবাদ, এবং ভালভাবে সম্পন্ন :-) আপনিও করতে পারেন VîWpU +XpU, তবে উভয়ই একই জিনিস করেন। এই চ্যালেঞ্জ জন্য নিখুঁত।
ইটিএইচ প্রডাকশনস

@ এথ প্রডাকশনস ধন্যবাদ, এবং এটি তৈরি করার জন্য ধন্যবাদ! আমি সত্যিই উপভোগ করি কীভাবে সবকিছু জেএস কোডে সুন্দরভাবে স্থানান্তর করে।
জাস্টিন মেরিনার


3

জেলি , 6 4 বাইট

xFṁ⁵

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

আরও ভাল ইনপুট ফর্ম্যাট (-2) এর জন্য জোনাথন অ্যালানকে ধন্যবাদ ।



@ জোনাথন অ্যালান হে আমি সাধারণত তৃতীয় যুক্তি ব্যবহার এড়াতে চেষ্টা করি তবে এবার এটি আমার উত্তরকে আরও সংক্ষিপ্ত করে তোলে।
এরিক আউটগল্ফার

3

ভি , 13 বাইট

ÀäjÀäêÍî
À|lD

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

aএবং bইনপুটটিতে পৃথক লাইনে নেওয়া হয়, mএবং nতর্ক হিসাবে নেওয়া হয়, বিপরীত হয় ( nএটিই প্রথম আর্গুমেন্ট এবংm এটিই দ্বিতীয় এবং দ্বিতীয়টি)

ব্যাখ্যা

Àäj      ' duplicate the inputs [arg 1] times
a -> a
b    b
     a
     b
     ...
   Àäê   ' duplicate everything straight down [arg 2] times - À cycles arguments
a -> aaa
b    bbb
a    aaa
b    bbb
...  ...
      Íî ' remove all newlines
-> aaabbbaaabbb...
À|lD     ' delete from the [arg 1] + 1 column onwards
-> aaabbbaa

3

হাস্কেল , 36 35 29 বাইট

তবুও আরেকটি হাসেল সমাধান (তালিকা হিসাবে দেওয়া অক্ষরগুলি প্রত্যাশা করে):

(m#n)c=take n$cycle$c<*[1..m]

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

@ লাইকনি -২ বাইটের জন্য ধন্যবাদ


1
আপনি এটি দিয়ে একটি বাইট সংরক্ষণ করতে পারেন (m#n)a b=
লাইকোনি

3

আর , 41 39 বাইট

function(d,m,n)cat(d[gl(2,m,n)],sep='')

একটি বেনামী ফাংশন; স্টাডাউট ফলাফল মুদ্রণ। চরিত্রগুলিকে ভেক্টর হিসাবে গ্রহণ করে d=c(a,b)gl(এই ক্ষেত্রে) মোট দৈর্ঘ্যের সাথে 2রান দৈর্ঘ্যের স্তরগুলি (পূর্ণসংখ্যার) উত্পন্ন করে ! তাদেরকে স্ট্রিং হিসাবে ছাপিয়ে প্রিন্ট করে।mncat

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


আমি মনে করি function(d,m,n)rep(d,e=m,l=n)একটি বৈধ জমা হবে।
ovs

@ovs দুর্ভাগ্যক্রমে repএকক স্ট্রিংয়ের পরিবর্তে অক্ষরগুলির ভেক্টর তৈরি করবে
জিউসেপ্প

2

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

(m,n,a,b)=>(a[r='repeat'](m)+b[r](m))[r](n).substr(0,n)

কোড স্নিপেট উদাহরণ:

f=

(m,n,a,b)=>(a[r='repeat'](m)+b[r](m))[r](n).substr(0,n)

console.log(f(2, 4, 'A', 'B'))
console.log(f(3, 8, 'A', 'B'))
console.log(f(4, 3, 'A', 'B'))
console.log(f(2, 9, 'A', 'B'))


2

জাভাস্ক্রিপ্ট, 53 বাইট

(m,n,a,b)=>a.repeat(n).replace(/./g,(i,j)=>j/m&1?b:i)



1

কিউবিআইসি , 37 27 বাইট

[:|G=;+G+;][:|G=G+G]?_sG,d

ব্যাখ্যা

          This takes its arguments as frequency m, A, B, length n
          For example: 2, A, B, 8
 :        Read a cmd line arg as number 'b' ('a' is used by the FOR declaration as loop counter)
[ |       Start a FOR loop, from 1 to b
G=  G     Set G to hold itself
  ;+      prepended by a cmd line arg read as strig and assigned to A$
     +;   and followed by a cmd line arg read as strig and assigned to B$
]         At the end of the FOR loop, G has had A added to the front twice, and B t the end x2: G$ = AABB
[:|       FOR c = 1 to n
G=G+G]      Add G to itself          G$ = AABBAABBAABBAABBAABBAABBAABBAABB
?_sG,d    PRINT the first n chars of G$   AABBAABB

পূর্ববর্তী প্রচেষ্টা:

(37b)  {Z=Z+;┘_LZ|~a=:|_X]~a%:|\C=A┘A=;┘B=C
Takes its arguments as `A, length n, frequency m, B`.
Basically adds A to Z until length % freq = 0, then swaps A for B. Loops until lengtn = n



1

কিউবিক্স , 63 58 বাইট

.rr.@u:s?.\.sw).i|>v:.\nB;?(q:Is...;rr/s.uw/....sIB/\/?(qo

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

দোভাষা দেখুন

ab*m*nযেখানে ইনপুট লাগে* কোনও অ-অঙ্কের অক্ষর হতে পারে ।

কিউব সংস্করণ:

        . r r .
        @ u : s
        ? . \ .
        s w ) .
i | > v : . \ n B ; ? ( q : I s
. . . ; r r / s . u w / . . . .
s I B / \ / ? ( q o . . . . . .
. . . . . . . . . . . . . . . .
        . . . .
        . . . .
        . . . .
        . . . .
  • i|is: অক্ষরে পড়ুন এবং সেগুলি অদলবদল করুন (উপরেও রয়েছে a)
  • I:q: পড়া m, ডুপ, এবং নীচে ঠেলা (স্ট্যাক এখন m,b,a,m)
  • ) : হ্রাস
  • ?: ইতিবাচক হলে ডানদিকে ঘুরুন, শূন্য হলে সোজা হয়ে যান (নকল a)
  • ধনাত্মক শাখা (লুপ)
    • s:rur(/w: অদলবদল, ডুপ, m-iস্ট্যাকের শীর্ষে যান, হ্রাসm-i
  • শূন্য শাখা
    • B: বিপরীত স্ট্যাক (এখন যা mকপি a: a... b m)
    • n: উপেক্ষা করুন m(যাতে আমরা ?বাম দিকে ঘুরতে ব্যবহার করতে পারি )
    • ) : বৃদ্ধি
    • ? : শূন্য হলে সোজা যান, negativeণাত্মক হলে বাম দিকে ঘুরুন
  • নেতিবাচক শাখা (অনুলিপি b)
    • s:r\/rw)\ মূলত পজিটিভ ব্রাঞ্চের মতো তবে ইনক্রিমেন্ট এবং বাম পালা দিয়ে।
  • শূন্য শাখা (আউটপুট মুদ্রণ)
    • >v;: 0স্ট্যাকটি পপ অফ করুন (দেখতে দেখতে a...b...)
    • /B : স্ট্যাক বিপরীত
    • I : পড়া n
    • s : অদলবদল মুদ্রণ লুপ:
  • oq : স্ট্যাকের নীচে মুদ্রণ করুন এবং ধাক্কা এখন দেখায়: ab...a...n
  • ( হ্রাস n
  • ? : ইতিবাচক হলে ডানে ঘুরুন, শূন্য হলে সোজা যান go
  • সঠিক হলে: /su স্ট্যাকের শীর্ষে অদলবদল করুন এবং লুপটি চালিয়ে যান
  • যদি শূন্য হয়, /নিচে প্রতিবিম্বিত হয় এবং মূল্যায়ন কোডটি হয় Iru@; @প্রোগ্রামটি সমাপ্ত করে।

0

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

…⁺×ζIθ×εNN

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ এবং চতুর্থ উদাহরণ অন্তর্ভুক্ত। (বিরক্তিকরভাবে ডের্বোবসিফার বিভাজকটিকে সরাবে না যদি আমি শেষের আগে একটি যোগ করি InputNumber()।)


বিভাজক বলতে কী বোঝ? (আপনি একটি উদাহরণ দিতে পারেন)
ASCII-

@ এএসসিআইআই-কেবলমাত্র শেষ ইনপুট নাম্বারের আগে কমা দিয়ে, লক্ষ্য করুন যে উত্পন্ন কোডটিতে একটি অপ্রয়োজনীয় বিভাজক রয়েছে: এটি অনলাইনে চেষ্টা করুন!
নীল

0

গণিত, 61 বাইট

T=Table;StringTake[""<>Flatten@T[{#3~T~#,#4~T~#},⌈#2/#⌉],#2]&

ইনপুট

[2,10, "একজন", "বি"]


0

গণিত, 44 বাইট

StringPadRight[x={##3}~Table~#<>"",#2,x]&

ব্যাখ্যা

ম্যাথমেটিকায় U+F3C7পোস্টফিক্স \[Transpose]অপারেটরের প্রতিনিধিত্বকারী, তিনটি বাইট বেসরকারী ব্যবহারের চরিত্র । কোনও টিআইও লিঙ্ক নেই কারণ ম্যাথিক্স সমর্থন করে না , \[Transpose]ভুল অপারেটরের অগ্রাধিকার রয়েছে, দ্বিতীয় যুক্তির তালিকান হওয়া Tableদরকার, এবং সবচেয়ে গুরুত্বপূর্ণ, StringPadRightএটি প্রয়োগ করা হয়নি।

                                         & (* Function *)
                 {##3}                     (* which takes the third and fourth arguments *)
                      ~Table~#             (* repeats them a number of times equal to the first argument *)
                                          (* takes the tranpose *)
                               <>""        (* then joins the strings with the empty string *)
               x=                          (* sets x equal to that string *)
StringPadRight[                            (* then pads x *)
                                   ,#2     (* to a length equal to the second argument *)
                                      ,x]  (* with x. *)

0

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

⎕⍴⎕/⎕

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

একটি অক্ষরে দুটি অক্ষরকে প্রথম ইনপুট হিসাবে গ্রহণ করে mতারপরে এবং তারপরে n

ব্যাখ্যা

Let the example input be 'ab', 2, 10.

⎕/⎕                 Replicate the two-char string `m` times
                    2/'ab' => 'aabb'
⎕⍴                  Shape it so that its length is `n`
                    10'aabb' => 'aabbaabbaa'

0

Pyth, 13 bytes

KE<*+*EQ*EQKK

Try it online!

Explanation

                 # Implicitly store m to Q
KE               # Store n to K
     *EQ         # Perform a * m
        *EQ      # Perform b * m
    +            # Concatenate the two strings
   *       K     # Multiply by n
  <         K    # Take the first n characters of the string


0

Chip, 588 bytes

*Z~vZ.*ZZZs  z. z. z. z. z. z. z. z.
  ,'|`-. ZZ--#<,#<,#<,#<,#<,#<,#<,#<
a/mAM/a| `~S `x'`x'`x'`x'`x'`x'`x'`x.
b/mBM/b|  *.)/')/')/')/')/')/')/')/'|
c/mCM/cZv--x^x-^x-^x-^x-^x-^x-^x-^x-'
d/mDM/d||A~#M',-',-',-',-',-',-',-'
e/mEM/e||B~#M-',-',-',-',-',-',-'
f/mFM/f||C~#M--',-',-',-',-',-'
g/mGM/g||D~#M---',-',-',-',-'
h/mHM/h||E~#M----',-',-',-'
 `v~v' ||F~#M-----',-',-'
* `mz  ||G~#M------',-'
Z  `---x'H~#M-------'
Z,--z--^----'
Z|z. z. z. z. z. z. z. z.
Zx#<,#<,#<,#<,#<,#<,#<,#<
 |`x'`x'`x'`x'`x'`x'`x'`xT
 |A| B| C| D| E| F| G| H|
 )\')\')\')\')\')\')\')\'
 `--^--^--^--^--^--^--'

Try it online!

Takes input as a 4-character string. The first two are the characters a and b, followed by the byte value m, and then the byte value n. For example, the TIO includes input ab<tab>2, this corresponds to 'a', 'b', 9, 50. (Since the codes for <tab> and 2 are 9 and 50.

How?

This answer is a bit of a behemoth, but here's the highlights:

The upper left block, with the lowercase a-h, is the storage mechanism for the characters a and b, one line per bit. At its bottom, with the v~v and mz is the switching mechanism, to swap between the two.

In the middle is a column with a bunch of ~#M's. This reads in m and stores its negative. The big triangle to the right is just wires to bring this value into the upper accumulator.

The upper right block is the accumulator for m. It increments every cycle (starting from -m) until it reaches zero. When this happens, the output character is swapped, and counting restarts from -m.

Meanwhile, there is the lower block, which is the n accumulator. Since n is only read once, we don't need a bank of memory (M and m) to store this value. We simply negate it and start counting. When this value reaches zero, the whole shebang is simply terminated.

All the other guff is delays (Z and z), wiring (-, |, ...), and other miscellany.

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