নবম উপাদানগুলি পুনরাবৃত্তি করুন


18

আমাদের কিছুক্ষণের জন্য একটি প্রশ্ন হয়নি (সুনির্দিষ্ট হওয়ার জন্য 5 দিন), সুতরাং আসুন আমরা এর জন্য যাই।

একটি স্ট্রিং sএবং ধনাত্মক পূর্ণসংখ্যা দেওয়া n, প্রতিটি প্রতি nউপাদান নিন s, বারবার এটি পুনরায় করুন nএবং এটিকে আবার রেখে দিন s

উদাহরণস্বরূপ, যদি n = 3এবং s = "Hello, World!", প্রতিটি তৃতীয় অক্ষর হয় Hl r!। আপনি তারপরে প্রতিটি চরিত্রের পুনরাবৃত্তি nকরতে পারেন HHHlll rrr!!!। এরপরে আপনি চূড়ান্ত পণ্যটি উত্পাদন করতে পুনরাবৃত্তি সংস্করণগুলির সাথে মূল অক্ষরগুলি প্রতিস্থাপন করুনHHHellllo, Worrrld!!!

আপনার ভাষায় আপনি সবচেয়ে সংক্ষিপ্ত কোডে এই কাজটি সম্পাদন করতে পারেন!

বিধি

  • এটি একটি তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী
  • nদৈর্ঘ্যের চেয়ে ছোট sএবং 0 এর চেয়ে বড় হওয়ার গ্যারান্টি রয়েছে
  • প্রথম চরিত্রটি sহ'ল nth অক্ষরটি কোথা থেকে নেওয়া হয়েছে এবং সর্বদা পুনরাবৃত্তি nহয়
  • sশুধুমাত্র (কোড পয়েন্ট মুদ্রণযোগ্য হওয়া ASCII নিয়ে গঠিত হবে 0x20 (space)থেকে 0x7E (~))

পরীক্ষার মামলা

s, n => output

"Hello, World!", 3 => "HHHellllo,   Worrrld!!!"
"Code golf", 1 => "Code golf"
"abcdefghijklm", 10 => "aaaaaaaaaabcdefghijkkkkkkkkkklm"
"tesTing", 6 => "ttttttesTingggggg"
"very very very long string for you to really make sure that your program works", 4 => "vvvvery    veryyyy verrrry loooong sssstrinnnng foooor yoooou toooo reaaaally    makeeee surrrre thhhhat yyyyour    proggggram    workkkks"

আমরা কি sঅক্ষর অ্যারে হিসাবে ইনপুট নিতে পারি ?
কেভিন ক্রুইজসেন

2
" এবং এটিকেs " এ ফিরে দিন "- এটি কি একটি কঠোর প্রয়োজনীয়তা (মূল স্ট্রিংটি ওভাররাইট করা) বা চূড়ান্ত ফলাফলটি আউটপুট করা ঠিক নয়?
ফেলিক্স Palmen

@ কেভিন ক্রুইজসেন হ্যাঁ আপনি পারবেন
কোয়ার্ডিং কোহেরিংহিংহ

1
@ ফ্যালিক্সপ্যালম্যান এটি কেবলমাত্র আমি কীভাবে ব্যাখ্যা করেছি। আপনি যে কোনও পদ্ধতি আপনি চান ব্যবহার করতে পারেন
caird coinheringaahing

কায়ারডকোইনরিঙ্গিং ভাল, ধন্যবাদ, ইতিমধ্যে এটি করেছেন।
ফেলিক্স প্যালম্যান

উত্তর:


10

জেলি , 3 বাইট

Ḣs×

ইনপুট গুলি হিসাবে নেওয়া হয় , এন

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

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

Ḣs×  Main link. Argument: s, n

Ḣ    Head; yield s.
     This pops the list, leaving [n] as the main link's argument.
 s   Split s into chunks of length n.
  ×  Multiply each chunk by [n], repeating its first element n times.

এটি কি ইউটিএফ -8 এনকোডিংয়ে আসলে 6 বাইট নয়? E1 B8 A2 73 C3 97
CoDEmanX

5
ইউটিএফ -8 এ, হ্যাঁ। তবে, জেলি একটি কাস্টম কোড পৃষ্ঠা ব্যবহার করে , যেখানে এটি বোঝে প্রতিটি অক্ষর কেবল একটি বাইট নেয়।
ডেনিস

7

জেলি ,  6  5 বাইট

-1 বাইট ধন্যবাদ ফাঁস নুনকে (পাইথনের স্ট্রিং গুণকে ব্যবহার করুন))

×Jm¥¦

একটি সম্পূর্ণ প্রোগ্রাম, দুটি কমান্ড লাইন আর্গুমেন্ট, স্ট্রিং এবং সংখ্যা গ্রহণ করে ফলাফল মুদ্রণ করে।

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

কিভাবে?

×Jm¥¦ - Main link: list of characters, s; number, n   e.g. ['g','o','l','f','e','r'], 2
    ¦ - sparse application:
   ¥  - ...to indices: last two links as a dyad:
 J    -      range of length of s                          [1,2,3,4,5,6]
  m   -      modulo slicing by n (every nth entry)         [1,3,5]
×    - ...action: multiply  ["gg",'o',"ll",'f',"ee",'r']
      - implicit print                                 >>> ggollfeer


হ্যাঁ চেষ্টা করে xভুলে গেছি ×; ধন্যবাদ।
জোনাথন অ্যালান

এটি কি ইউটিএফ -8 এনকোডিংয়ে আসলে 8 বাইট নয়? C3 97 4A 6D C2 A5 C2 A6
CoDEmanX

2
@ কোডেম্যানএক্স জেলির কাস্টম কোড পৃষ্ঠাটি
এমডি এক্সএফ

ফিল্ডিংয়ের জন্য @ এমডিএক্সএফ ধন্যবাদ!
জোনাথন অ্যালান

4

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

বাক্য গঠন সিনট্যাক্সে ইনপুট নেয় (s)(n)

s=>n=>s.replace(/./g,(c,i)=>c.repeat(i%n?1:n))

পরীক্ষার মামলা



3

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

n=>m=>{var s="";for(int i=0;i<n.Length;)s+=new string(n[i],i++%m<1?m:1);return s;}

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


আপনি সরিয়ে একটি বাইট সংরক্ষণ করতে পারবেন i++এবং পরিবর্তন n[i],i%m<1?m:1করার n[i],i++%m<1?m:1
কেভিন ক্রুইজসেন

ইনপুটগুলি n=>m=>...
কারি

3

05 এ বি 1 ই , 8 7 বাইট

-1 বাইট @ এমিগানাকে ধন্যবাদ

ôʒć²×ì?

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

ব্যাখ্যা

ôʒć²×ì?    Arguments s, n  ("Hello, World!", 3)
ô          Split s into pieces of n  (["Hel", "lo,", ...])
 ʒ         Filter (used as foreach)
  ć          Extract head  ("Hel" -> "el", "H" ...)
   ²×ì       Repeat n times and prepend  ("el", "H" -> "HHHel" ...)
      ?      Print without newline

এর সাথে একটি বাইট সংরক্ষণ করুনôʒć²×ì?
Emigna

@ এমিগনা ধন্যবাদ, আমি জানতাম বন্ধের হাত থেকে মুক্তি পাওয়ার উপায় অবশ্যই আছে}
কলসওয়ারাস

ফিল্টারটির অদ্ভুত ব্যবহার যখন এটি ফলাফলটি ব্যবহার করে না তবে এটি আসলে একটি পার্থক্য করে ...
ম্যাজিক অক্টোপাস উরন

@ ম্যাজিক অ্যাক্টোপাস উর্ন, ইয়েপ ফিল্টারটি এখনও 05 এএবি 1 ই
কলসওয়ারাস

@ ক্যালসওয়ারাস vyএকটি ভবিষ্যদ্বাণী , εঅন্য এক। অদ্ভুতভাবে যথেষ্ট, εকাজ করে না।
ম্যাজিক অক্টোপাস উরন

2

পাওয়ারশেল , 51 বাইট

param($a,$n)-join($a|%{($_,("$_"*$n))[!($i++%$n)]})

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

একটি- charঅ্যারে $aএবং সংখ্যা হিসাবে ইনপুট নেয় $n। লুপগুলি মাধ্যমে $aএবং প্রতিটি পুনরুক্তি হয় সিউডো-টের্নারিতে সূচকগুলির উপর ভিত্তি করে বর্তমান বর্ণ $_বা বর্তমান বর্ণকে গুণিত করে $n। সূচক দুটি ভিত্তিক ইনক্রিমেন্টিংয়ের অফ $iএবং তারপরে মডুলোর মধ্যে চয়ন করে $n। তারপরে সেই অক্ষরগুলি -joinআবার একসাথে এড করা হয় এবং স্ট্রিংটি পাইপলাইনে ছেড়ে যায়; আউটপুট নিহিত।



2

এলিস , 25 বাইট

/
KI /!Iw?&.?t&O?&wWOI.h%

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

ব্যাখ্যা

/         Switch to Ordinal.
I         Read first line of input (i.e. n).
/         Switch to Cardinal.
!         Convert input to its integer value and store it on the tape.
I         Read first character from input string.
w         Push current IP address onto the return address stack. This
          effectively marks the beginning of the main loop.

  ?         Retrieve n.
  &.        Duplicate current character n times (once more than we need,
            but who cares about a clean stack...).
  ?t        Retrieve n and decrement.
  &O        Output n-1 copies of the current character.
  ?         Retrieve n.
  &w        Push the current IP address onto the return address stack n
            times. This marks the beginning of a loop that is executed n 
            times.

    W         Discard one copy of the return address from the stack,
              effectively decrementing the loop counter.
    O         Output the last character. On the first iteration, this is
              the final copy of the repeated character, otherwise it's just
              the single character we read on the last iteration.
    I         Read a character for the next iteration.
    .h%       Compute c % (c+1) on that character, which is a no-op for
              for valid characters, but terminates the program at EOF when
              c becomes -1.

K         Jump to the address on top of the return address stack. As long
          as there are still copies of the address from the inner loop, we
          perform another iteration of that, otherwise we jump back to the
          beginning of the outer loop.

2

আর , 82 76 75 বাইট

function(s,n)cat(rep(S<-el(strsplit(s,'')),c(n,rep(1,n-1))+!seq(S)),sep='')

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

একটি অনুষ্ঠান; একটি স্ট্রিং sএবং একটি পূর্ণসংখ্যার লাগে nএবং স্টাডআউটে পুনরাবৃত্তি সংস্করণ মুদ্রণ করে।

ব্যাখ্যা:

function(s,n){
 S <- el(strsplit(s,""))                  # characters
 r     <- c(n,rep(1,n-1))                 # [n, 1, 1,...,1], length n
 repeats <- r+!seq(S)                     # extends R to length of S
 cat(rep(S, repeats), sep="")             # print out
}

আর , 55 বাইট

function(S,n)cat(rep(S,c(n,rep(1,n-1))+!seq(S)),sep="")

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

উপরের মতো একই অ্যালগরিদম, তবে Sস্বতন্ত্র অক্ষরের তালিকা হিসাবে নেওয়া।


1

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

lambda s,n:''.join(c*[1,n][i%n<1]for i,c in enumerate(s))

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


enumerateসংক্ষিপ্ততর ব্যবহারের চেয়ে স্ট্রিংয়ের সাথে সূচীকরণ করবে?
কায়ার্ড কইনিরিংহিং

@Cairdcoinheringaahing আমাকে range(len())শেষ পর্যন্ত ব্যবহার করতে হবে দীর্ঘ হতে হবে
রড



1

জাপট , 8 বাইট

ËùDV*EvV

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

ব্যাখ্যা

 Ë    ùDV*EvV
UmDE{DùDV*EvV}   Ungolfed
                 Implicit: U = s, V = n
UmDE{        }   Replace each char D and (0-)index E in U by this function:
          EvV      Take 1 if the index is divisible by V; 0 otherwise.
        V*         Multiply this by V. This gives V for every Vth index; 0 for others.
     DùD           Pad D with itself to this length. This gives V copies of D for every
                   Vth index; 1 copy of D for others.
                 Implicit: output last expression

আমাকে এখানে @ শ্যাগির উত্তরটি ব্যবহার ùকরতে ধারণাটি জমা দিতে হবে । আমি জানি না যে আমি কখনও নিজেই এটি সম্পর্কে ভেবে দেখতাম ...


আপনি এখন দেখুন কেন স্ট্রিং প্যাডিং যুক্ত করতে এত আগ্রহী ছিল :) দুর্দান্ত সমাধান। আমি ëপুপস এবং জিগলসের সাথে কাজ করার জন্য কিছু চেষ্টা করার চেষ্টা করছিলাম তবে খারাপভাবে ব্যর্থ হয়েছি !
শেজি 21

1

জে, 17 বাইট

(#@]$[,1#~<:@[)#]
  • (...) # ]পেরেন্সের সমস্ত কিছুই জে এর "কপি" ক্রিয়াপদে অন্তর্নির্মিত স্ট্রিং তৈরি করে। সুতরাং, উদাহরণস্বরূপ, যদি বাম আর্গুমেন্ট 3 হয়, এটি 3 1 1ডান আরগের অক্ষরের সংখ্যার সমান করার জন্য পুনরাবৃত্ত স্ট্রিং তৈরি করে ], এতে স্ট্রিং রয়েছে। যা বলা যায় তা #সরাসরি সমস্যা সমাধান করে, ধরে নিই আমরা এটিকে সঠিক বাম যুক্তি দিতে পারি: পুনরাবৃত্তি করা 4উচিত 4 1 1 1, ইত্যাদি and
  • পরীক্ষা করে #@]$[,1#~<:@[দেখছি, আমরা এটি $মাঝখানে J এর আকৃতির ক্রিয়াটি ব্যবহার করে - এটি এই বাক্যাংশের মূল ক্রিয়া ...
  • বাঁদিকে $হয় #@]দৈর্ঘ্য যার অর্থ #ডান ARG এর ]
  • ডানদিকে $হয় [,1#~<:@[একটি 5 ট্রেন ক্রিয়া। প্রথম ট্রেন চালানো হয় ...
  • 1#~<:@[, যা 1 কপি মানে #~(কপি কর্মবাচ্য রূপটি) চেয়ে এক কম <:বাম ARG [। এই ফলাফলটি চূড়ান্ত কাঁটাতে পাস করা হয়েছে:
  • [, ...অর্থ বাম দিকটি নিয়ে যান এবং ফলাফলটি কেবলমাত্র আমরা গণনা করি, যা 1এস এর একটি স্ট্রিং app

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


]#~[^0=(|i.@#)14 বাইটের জন্য
মাইল

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


1

পার্ল 5, 37 , 29 +1 (-পি) বাইট

-8 বাইট টম এর মন্তব্যে ধন্যবাদ।

$n=<>;s/./"@-"%$n?$&:$&x$n/ge

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


এখনই একটি উন্নততর পদ্ধতির মনে করতে পারেন না, কিন্তু আমি কয়েক ধারনা নিয়ে এসেছেন: $n=<>;পরিবর্তে BEGINব্লক এবং nইনপুট পরবর্তী লাইনে এবং প্রতিস্থাপন $-[0]সঙ্গে "@-"যেহেতু শুধুমাত্র প্রথম সংখ্যা তুলনা মূল্যায়ন করা হয়। এছাড়াও, যদি আপনি এর nমাধ্যমে ইনপুট -i$^I$n
ডম হেস্টিংস

1

6502 মেশিন কোড রুটিন, 50 বাইট

A0 01 84 97 88 84 9E 84 9F B1 FB F0 20 A4 9F 91 FD C6 97 D0 10 A6 FF CA F0
05 C8 91 FD D0 F8 84 9F A5 FF 85 97 E6 9E A4 9E E6 9F D0 DC A4 9F 91 FD 60

এই অবস্থানে স্বাধীন সাবরুটিন ইনপুট স্ট্রিং একটি পয়েন্টার আশা করছে (ওরফে সি-স্ট্রিং 0-সমাপ্ত) এ $fb/ $fc, আউটপুট একটি পয়েন্টার বাফার $fd/ $feএবং COUNT ( n) এ $ff। এটি সাধারণ সূচক ব্যবহার করে, সুতরাং এটি 8 বিট আর্কিটেকচারের কারণে 255 অক্ষর (+ 0 বাইট) সর্বাধিক আউটপুট দৈর্ঘ্যের মধ্যে সীমাবদ্ধ।

ব্যাখ্যা (মন্তব্য বিচ্ছিন্ন):

 .rep:
A0 01       LDY #$01            ; init counter to next repetition sequence
84 97       STY $97
88          DEY                 ; init read and write index
84 9E       STY $9E             ; (read)
84 9F       STY $9F             ; (write)
 .rep_loop:
B1 FB       LDA ($FB),Y         ; read next character
F0 20       BEQ .rep_done       ; 0 -> finished
A4 9F       LDY $9F             ; load write index
91 FD       STA ($FD),Y         ; write next character
C6 97       DEC $97             ; decrement counter to nex rep. seq.
D0 10       BNE .rep_next       ; not reached yet -> next iteration
A6 FF       LDX $FF             ; load repetition counter
 .rep_seqloop:
CA          DEX                 ; and decrement
F0 05       BEQ .rep_seqdone    ; if 0, no more repetitions
C8          INY                 ; increment write index
91 FD       STA ($FD),Y         ; write character
D0 F8       BNE .rep_seqloop    ; and repeat for this sequence
 .rep_seqdone:
84 9F       STY $9F             ; store back write index
A5 FF       LDA $FF             ; re-init counter to next ...
85 97       STA $97             ; ... repetition sequence
 .rep_next:
E6 9E       INC $9E             ; increment read index
A4 9E       LDY $9E             ; load read index
E6 9F       INC $9F             ; increment write index
D0 DC       BNE .rep_loop       ; jump back (main loop)
 .rep_done:
A4 9F       LDY $9F             ; load write index
91 FD       STA ($FD),Y         ; and write terminating0-byte there
60          RTS                 ; done.

এটি ব্যবহার করে সি 64 মেশিন কোড প্রোগ্রামের উদাহরণ :

এটি সি for64 এর স্টাইল অ্যাসেমব্লার-এ এই রুটিনটি ব্যবহার করে (যেমন আমদানি করা হয় rep):

REP_IN          = $fb
REP_IN_L        = $fb
REP_IN_H        = $fc

REP_OUT         = $fd
REP_OUT_L       = $fd
REP_OUT_H       = $fe

REP_N           = $ff

.import         rep


.segment "LDADDR"
                .word   $c000

.code
                jsr     $aefd           ; consume comma
                jsr     $ad9e           ; evaluate expression
                sta     REP_IN_L        ; store string length
                jsr     $b6a3           ; free string
                ldy     #$00            ; loop over string
readloop:       cpy     REP_IN_L        ; end of string?
                beq     termstr         ; then jump to 0-terminate string
                lda     ($22),y         ; read next character
                sta     in,y            ; store in input buffer
                iny                     ; next
                bne     readloop
termstr:        lda     #$00            ; load 0 byte
                sta     in,y            ; store in input buffer

                jsr     $b79b           ; read 8bit unsigned int
                stx     REP_N           ; store in `n`
                lda     #<in            ; (
                sta     REP_IN_L        ;   store pointer to
                lda     #>in            ;   to input string
                sta     REP_IN_H        ; )
                lda     #<out           ; (
                sta     REP_OUT_L       ;   store pointer to
                lda     #>out           ;   output buffer
                sta     REP_OUT_H       ; )
                jsr     rep             ; call function

                ldy     #$00            ; output result
outloop:        lda     out,y
                beq     done
                jsr     $ffd2
                iny
                bne     outloop
done:           rts


.bss
in:             .res    $100
out:            .res    $100

অনলাইন ডেমো

ব্যবহার: sys49152,"[s]",[n] যেমনsys49152,"Hello, World!",3

গুরুত্বপূর্ণ: প্রোগ্রামটি যদি ডিস্ক থেকে লোড করা হয় (অনলাইন ডেমোর মতো), newপ্রথমে একটি আদেশ জারি করুন ! এটি প্রয়োজনীয় কারণ কোনও মেশিন প্রোগ্রাম লোড করা কিছু সি 64 বেসিক পয়েন্টারকে ট্র্যাশ করে।


1

জাভা 8, 100 76 বাইট

s->n->{int i,k=0;for(char c:s)for(i=k++%n<1?n:1;i-->0;)System.out.print(c);}

-24 ধন্যবাদ বাইট @ OliverGrégoire

ব্যাখ্যা:

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

s->n->{                    // Method with char-array and int parameters and no return-type
  int i,k=0;               //  Index-integers
  for(char c:s)            //  Loop (1) over the characters of the input array
    for(i=k++%n<1?         //   If `k` is divisible by the input `n`:
         n                 //    Change `i` to `n`
        :                  //   Else:
         1;                //    Change `i` to 1
        i-->0;)            //   Inner loop (2) from `i` down to 0
      System.out.print(c); //    And print the current character that many times
                           //   End of inner loop (2) (implicit / single-line body)
                           //  End of loop (1) (implicit / single-line body)
}                          // End of method

ওফস, আমি দেখতে পাচ্ছি না যে ইতিমধ্যে কোনও জমা দেওয়া আছে তাই আমি আমার মুছলাম। এটি এখানে 76 76 বাইটে সংক্ষিপ্ত করে দেওয়া হয়েছে: n->s->{int i,k=0;for(char c:s)for(i=k++%n<1?n:1;i-->0;)System.out.print(c);}(এর char[]পরিবর্তে একটি দিয়ে String)
অলিভিয়ার গ্রাগোয়ার

থাম্বের বিধি, যদি আপনাকে ঠিক একটি স্ট্রিং ফেরত আসবে বলে ঘোষণা করতে হয় তবে কেবল এটি মুদ্রণ করা আরও কম।
অলিভিয়ার

@ অলিভিগ্রগ্রোয়ার ওফস .. হ্যাঁ, আমি থাম্বের নিয়মটি জানি, কেবল এটি এবার প্রয়োগ করতে ভুলে গিয়েছি .. এবং সংরক্ষিত বাইটের জন্য ধন্যবাদ!
কেভিন ক্রুইজসেন

1

MATL , 10 7 বাইট

লুই মেন্ডো -3 বাইট ধন্যবাদ!

tq:ghY"

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

স্ট্রিং / চর অ্যারে হিসাবে nএবং তারপরে ইনপুট নেয় S

    % (implicit input)
    % stack: n
t   % duplicate
    % stack: n n
q   % decrement
    % stack: n n-1
:   % range
    % stack: n [1 2 ... n-1]
g   % convert to logical (nonzero->1, zero->0)
    % stack: n [1 1 ... 1]
h   % horizontal concatenate
    % stack: [n 1 1 ... 1]
Y"  % run-length decoding, taking the string as first input and recycling 
    % the lengths [n 1 1 ... 1] as needed
    % (implicit output as string)


1

হাস্কেল , 51 46 বাইট

আমাকে লাইকনি ধন্যবাদ 5 টি বাইট সংরক্ষণ করার জন্য!

n&s=do(m,c)<-zip[0..]s;c<$[0..(n-1)*0^mod m n]

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

ব্যাখ্যা / Ungolfed

অপারেটর c <$ [a..b]তালিকার প্রতিটি উপাদান প্রতিস্থাপন [a,a+1...b]করে c- সুতরাং এটি কেবল একটি গল্ফড replicate:

do(m,c)<-zip[0..]s;                                  -- with all (m,c) in the enumerated ([(0,a),(1,b)..]) input string, replace with
                   replicate (1 + (n-1)*0^mod m n) c -- either n or 1 times the character c (note that the list begins with 0, that's where the 1+ comes from)


0

ভি , 13 বাইট

"aDJòylÀpÀll

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

এটি একটি সত্যই বোবা workaround। òlhÀälÀlÀ<M-->lকাজ করা উচিত, তবে কেন আমি নিজের জীবনের জন্য বুঝতে পারি না, বিশেষত যেহেতু ম্যানুয়ালি lhÀälÀlÀ<M-->lবারবার একগুচ্ছ বারবার করা হয় হবে।

Hexdump:

00000000: 1822 6144 4af2 796c c070 c06c 6c         ."aDJ.yl.p.ll

ব্যাখ্যা:

<C-x>               " Decrement the number
       D            " Delete that number...
     "a             "   Into register 'a'
        J           " Remove the blank line
         ò          " Recursively...
          yl        "   Yank the letter under the cursor
            Àp      "   And paste it 'a' times
              Àl    "   Move 'a' times to the right ('l' for right)
                l   "   Move to the right one more time
                    " (implicit) end the loop

'l' for right... আমি অনুমান করছি যে এটি হোল্ডওভার ভিম জিনিস? নাহলে ... কেন ?
অ্যাডমবর্কবার্ক

2
@ অ্যাডমবার্কবার্ক হ্যাঁ, ভিমে lঠিক আছে। এটি অরোগ্রাফিকভাবে পিছনের দিকে হতে পারে তবে জ্যামিতিকভাবে এটি সঠিক: lমাঝের সারির ডানদিকের অক্ষরের কী key
জোনা

@ ডিজেএমসিমেহেম রাইট আমি এটা ঠিক করেছি।
জোনা


0

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

এটি নিচে গল্ফিং উপর কাজ।

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

ফাংশন প্যারামিটার হিসাবে ইনপুট নেয় এবং এতে মুদ্রণ করে STDOUT

def f(s,n,i=0):
 for c in s:print(end=[c,c*n][i%n<1]);i+=1

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

এক বাইট কম (57) এর জন্য, আমি একটি ল্যাম্বডা কোড করেছিলাম, তবে ইতিমধ্যে অন্যান্য ব্যবহারকারীরা ইতিমধ্যে একই উত্তর পোস্ট করেছেন:

lambda s,n:''.join([c,c*n][i%n<1]for i,c in enumerate(s))

0

ব্রেন-ফ্লাক (ব্রেনহ্যাক) , 122 + 3 ( -A) = 125 বাইট

আমি নিশ্চিত যে এটি অনেক দীর্ঘ, তবে আমি বেশ কিছুক্ষণ দেখার জন্য ব্যয় করেছি এবং কোনও উন্নতি পাই না।

([]){{}([(([{}]<>)<{({}<<>(({})<>)>())}{}{}>)<{({}<<>({}<>)>())}{}>]<>)([][()])}({}{}<>){({}{(<()>)}{}[()])}{}{({}<>)<>}<>

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



0

গণিত, 71 বাইট

""<>s[[i]]~t~If[i~Mod~#2==1,#2,1]~(t=Table)~{i,Tr[1^(s=Characters@#)]}&

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

ব্যবহারকারীর শোনার মাধ্যমে -2 বাইট সংরক্ষণ করা হয়েছে 202729


আমার ধারণা কম Mapবেশি Charactersহতে পারে।
ব্যবহারকারী 202729

@ ব্যবহারকারী 202729 ঠিক আছে! -2 বাইট
J42161217

0

কে (ওকে) , 23 19 বাইট

সমাধান:

{,/(1|y*~y!!#x)#'x}

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

উদাহরণ:

> {,/(1|y*~y!!#x)#'x}["Hello, World!";3]
"HHHellllo,   Worrrld!!!"
> {,/(1|y*~y!!#x)#'x}["Code golf";1]
"Code golf"
> {,/(1|y*~y!!#x)#'x}["abcdefghijklm";10]
"aaaaaaaaaabcdefghijkkkkkkkkkklm"

ব্যাখ্যা:

{,/(1|y*~y!!#x)#'x} / the solution
{                 } / lambda function with x and y as implicit parameters
   (          )     / do everything in brackets together
            #x      / count x, #"Hello, World!" -> 13
           !        / til, !13 -> 0 1 2 3 4 5 6 7 8 9 10 11 12
         y!         / y modulo, 3!0 1 2 3 4 5 6 7 8 9 10 11 12 -> 0 1 2 0 1 2 0 1 2 0 1 2 0
        ~           / not, ~0 1 2 0 1 2 0 1 2 0 1 2 0 -> 1 0 0 1 0 0 1 0 0 1 0 0 1
      y*            / multiply by y, 3*1 0 0 1 0 0 1 0 0 1 0 0 1 -> 3 0 0 3 0 0 3 0 0 3 0 0 3
    1|              / min of 1 and, 1|3 0 0 3 0 0 3 0 0 3 0 0 3 -> 3 1 1 3 1 1 3 1 1 3 1 1 3
                #'x / take each parallel, 1 2 3#'"abc" -> "a", "bb", "ccc"
 ,/                 / flatten the list, "a", "bb", "ccc" -> "abbccc"

মন্তব্য:

  • বিভিন্ন পদ্ধতির সাথে -4 বাইট

0

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

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

For i=1To[Len(A1)]:[C1]=i:?[Rept(Mid(A1,C1,1),B1^(Mod(C1,B1)=1))];:Next
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.