ASCII শিল্পকে বাড়ান


64

এই চ্যালেঞ্জে আপনাকে অবশ্যই মাল্টলাইন ASCII শিল্পকে ইনপুট হিসাবে নিতে হবে, যেমন:

 OOOOOO  OOOOOO  OOOOOO  OOOOOOO      OOOOOO   OOOOOO  OO      OOOOOOO 
OO      OO    OO OO   OO OO          OO       OO    OO OO      OO      
OO      OO    OO OO   OO OOOOO       OO   OOO OO    OO OO      OOOOO   
OO      OO    OO OO   OO OO          OO    OO OO    OO OO      OO      
 OOOOOO  OOOOOO  OOOOOO  OOOOOOO      OOOOOO   OOOOOO  OOOOOOO OO      

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

   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO                  OOOOOOOOOOOOOOOOOO         OOOOOOOOOOOOOOOOOO      OOOOOO                  OOOOOOOOOOOOOOOOOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO                  OOOOOOOOOOOOOOOOOO         OOOOOOOOOOOOOOOOOO      OOOOOO                  OOOOOOOOOOOOOOOOOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO                  OOOOOOOOOOOOOOOOOO         OOOOOOOOOOOOOOOOOO      OOOOOO                  OOOOOOOOOOOOOOOOOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO                              OOOOOO                     OOOOOO            OOOOOO   OOOOOO                  OOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO                              OOOOOO                     OOOOOO            OOOOOO   OOOOOO                  OOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO                              OOOOOO                     OOOOOO            OOOOOO   OOOOOO                  OOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOOOOOOOOOOO                     OOOOOO         OOOOOOOOO   OOOOOO            OOOOOO   OOOOOO                  OOOOOOOOOOOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOOOOOOOOOOO                     OOOOOO         OOOOOOOOO   OOOOOO            OOOOOO   OOOOOO                  OOOOOOOOOOOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOOOOOOOOOOO                     OOOOOO         OOOOOOOOO   OOOOOO            OOOOOO   OOOOOO                  OOOOOOOOOOOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO                              OOOOOO            OOOOOO   OOOOOO            OOOOOO   OOOOOO                  OOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO                              OOOOOO            OOOOOO   OOOOOO            OOOOOO   OOOOOO                  OOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO                              OOOOOO            OOOOOO   OOOOOO            OOOOOO   OOOOOO                  OOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO                  OOOOOOOOOOOOOOOOOO         OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO   OOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO                  OOOOOOOOOOOOOOOOOO         OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO   OOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO                  OOOOOOOOOOOOOOOOOO         OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO   OOOOOO

বিশেষ করে, প্রতিটি অক্ষর একটি পরিণত আবশ্যক nদ্বারা nযে চরিত্র, যেখানে বাক্স nপূর্ণসংখ্যা যুক্তি। উদাহরণস্বরূপ, এর একটি ইনপুট

ab
cd

এবং 3 ফলাফল হবে

aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

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


প্রশ্নগুলির তালিকায় আসকি শিল্প আকর্ষণীয় দেখায়
জাস্টিন

6
আমি মনে করি আপনার এমন একটি পদ্ধতির জন্য একটি গৌণ / বোনাস তৈরি করা উচিত যা বর্ধিত শিল্পের সাথে সঠিক এলিয়াসিং প্রবর্তন করে। আপনার দৈত্য কোড গল্ফ আর্ট বেশ ব্লক দেখাচ্ছে।
অমেলিয়াবিআর

5
এমিলিয়াবিআর এখানে দেখুন ।
হাওয়ার্ড

উত্তর:


37

এপিএল, 7 টি চর / বাইট *

{⍺/⍺⌿⍵}

ফাংশন যা পরামিতি হিসাবে সংখ্যা এবং ইনপুট স্ট্রিং নেয় এবং ফলাফলটি ফেরত দেয়:

      a
abcde
fghij
      2 {⍺/⍺⌿⍵} a
aabbccddee
aabbccddee
ffgghhiijj
ffgghhiijj
      3 {⍺/⍺⌿⍵} a
aaabbbcccdddeee
aaabbbcccdddeee
aaabbbcccdddeee
fffggghhhiiijjj
fffggghhhiiijjj
fffggghhhiiijjj

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ *: এপিএল নিজস্ব (লিগ্যাসি) একক বাইট অক্ষরে
লেখা যেতে পারে যা এপিএল প্রতীকগুলিকে উপরের 128 বাইট মানগুলিতে মানচিত্র করে। সুতরাং, স্কোর করার উদ্দেশ্যে, এন চরগুলির একটি প্রোগ্রাম যা কেবলমাত্র এসকিআইআই অক্ষর এবং এপিএল প্রতীক ব্যবহার করে তা এন বাইট দীর্ঘ হিসাবে বিবেচনা করা যেতে পারে।


1
...: হে এটি কিভাবে কাজ করে?
ডোরকনবব

4
@ ডুরকনোবোফস্নো বহুলাইন স্ট্রিংয়ের মানক প্রতিনিধিত্ব হ'ল এপিএল একটি আয়তক্ষেত্রাকার অক্ষর ম্যাট্রিক্স (লাইনের অসম প্রস্থ থাকলে ফাঁকা ফাঁকা অংশ হ'ল, এপিএল সেই পুরানো।) /ফাংশন ( /অপারেটরের সাথে বিভ্রান্ত হওয়ার দরকার নেই ... হ্যাঁ, একই প্রতীক ) সদৃশ এবং / অথবা বাম পাশের যুক্তি অনুসারে ম্যাট্রিক্স থেকে কলামগুলি সরিয়ে দেয়। যদি এটি একটি স্কেলার (সাধারণ সংখ্যা) হয় তবে এটি সমস্ত ইনপুট কলামগুলির জন্য প্রতিলিপি করা হয়। সুতরাং 2/mসমস্ত কলাম দ্বিগুণ সহ একটি ম্যাট্রিক্স। বৈকল্পিক একই না, কিন্তু সারি জন্য (বা সাধারণ ক্ষেত্রে প্রথম অক্ষ প্লেন।)
Tobia

6
সুন্দর ভাষা, তাই না? এটি আসলে বেশ পঠনযোগ্য, একবার আপনি কয়েক ডজন প্রতীক শিখলে। আপনি প্রায় আশেপাশের ASCII লাইন শব্দের ভাষা দেখতে পাচ্ছেন তার চেয়ে অনেক বেশি…
টোবিয়া ২

কুল। ⌿ সবসময় ভাষা ছিল? এটি গিলম্যান এবং রোজ বইতে ছিল না, এবং এপিএল-এর একটি আইভারসন বই \ ৩ men০ উল্লেখ / [১] তবে ⌿ নয় ⌿
মার্ক প্লটনিক

2
কি দারুন. যে। হয়। মাত্র। অসাধারণ. আমি. গুরুতরভাবে। দেখে বিস্মিত। দ্বারা. এই. কোড। আমি নিছক +1 এর চেয়ে বেশি প্রস্তাব দিতে চাই, তবে আমার রেপ এখনও কোনও অনুগ্রহের জন্য যথেষ্ট কম।
এরিক আউটগল্ফার

35

গল্ফস্ক্রিপ্ট, 20 টি অক্ষর

n%(~{.{*}+@1/%n+*}+/

এসটিডিআইএন থেকে সমস্ত ইনপুট নেয়, প্রথম লাইনটি স্কেলিং ফ্যাক্টর, বাকিগুলি মাল্টলাইন-ইনপুট। আপনি উদাহরণটি অনলাইনে চেষ্টা করতে পারেন ।

ইনপুট

3
ab
cd

আউটপুট

aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

কোড

n%            # Split the input into separate lines
(~            # Take the first line and evaluate (factor)
{             # {...}+/ adds the factor to the code block and loops over
              # the remaining lines (i.e. the factor will be the top of stack
              # for each line of input
   .{         # Same thing, duplicate factor and add it to code block and
              # loop over each character (1/ splits the string into chars)
     *        # multiply single-char string with factor
   }+@1/%
   n+         # Join string by adding a newline
   *          # Multiply the line by the factor (left from the . operation)
}+/

হে! আপনি আমার চেয়ে ভাল ইনপুট ফর্ম্যাট, স্কোর এবং সময় পেয়েছেন : - / +1
জন ডিভোরাক

আমিও কিন্ডা হারিয়ে ফেলছি।
জন ডিভোরাক

2
@ জনডভোরাক কিছু ব্যাখ্যা যুক্ত করেছেন।
হাওয়ার্ড

কি দারুন. আজ আমি শিখেছি 1/। আমার আরও value function +বেশি ব্যবহার করা দরকার ।
জন ডিভোরাক

2
@ কোরিক্লেইন: আপনি যদি আমাদের কোন ত্রুটিটি জানান তবে এটির সাহায্যের উপায় ছিল ... তবে ... * স্ফটিক বলের দিকে নজর রাখে ... ... এটি সম্ভবত কার্যকর হিসাবে golfscript.rbচিহ্নিত নয়, বা প্রথম লাইনে রুবি ইন্টারপ্রেটারের ভুল পথ রয়েছে আপনার সিস্টেমের জন্য ওহ, এবং echoসম্ভবত এটি করা উচিত catcat inputFile | ruby golfscript.rb scriptFile(বা ন্যায়সঙ্গত ruby golfscript.rb scriptFile < inputFile) চেষ্টা করে দেখুন এবং এটি কার্যকর হয় কিনা।
ইলমারি করোনেন

19

জে, 20 17 টি অক্ষর

f=.([#&.|:#)];._2

একটি ক্রিয়া সংজ্ঞায়িত fকরে যা প্রয়োজনীয় হয় does ব্যবহার:

   3 f a
aaaccc
aaaccc
aaaccc
bbbddd
bbbddd
bbbddd

aইনপুট স্ট্রিং কোথায় ।
উইন্ডোজ এ মুছে ফেলার জন্য একটি অতিরিক্ত চরিত্রের প্রয়োজন \r:

f=.([#&.|:#)}:;._2

ব্যাখ্যা :

];._2স্ট্রিং, এই ক্ষেত্রে একটি হবে যার শেষ অক্ষর উপর ভিত্তি করে খন্ডে ইনপুট স্ট্রিং চপ \n। উইন্ডোজ করেছে \r\nতাই আমরা ব্যবহার করতে হবে }:একটি অতিরিক্ত চরিত্র বন্ধ কাটতে: }:;._2কাটা ক্রিয়া ডকুমেন্টেশন

কোডের বাকী অংশ (অ্যাসাইনমেন্ট বাদে f=.) একটি কাঁটাচামচ
এটি এভাবে ভেঙে যায়:[ #&.|: #

যদি aআমাদের ইনপুট স্ট্রিং হয় তবে গণনাটি হবে 3 # a(আমরা এই ফলাফলটিকে কল করব x), তারপরে 3 [ a(আমরা এই ফলাফলটি কল করব y) y #&.|: x

3 # aপ্রতিটি সদস্যের কেবল তিনটি অনুলিপি করে aক্রিয়া ক্রিয়াকলাপ ডকুমেন্টেশন
এটি সক্রিয়

ab
cd

মধ্যে

aaabbb
cccddd

3 [ aমাত্র ফিরে আসে 3. বাম ক্রিয়া ডকুমেন্টেশন

অবশেষে y #&.|: xহয় yTRANSPOSE অধীনে কপি x#আগের মতই কাজ, কিন্তু &.|:জে বলে প্রথম ইনপুট জায়গা বদল করুন এবং তারপর এটি ফিরিয়ে জায়গা বদল করুন এটি সমাপ্ত হলে করতে। সংযুক্ত ডকুমেন্টেশনের অধীনে , ক্রিয়া ডকুমেন্টেশন স্থানান্তর করুন

ট্রান্সপোজ ঘুরিয়ে দেয়

aaabbb
cccddd

মধ্যে

ac
ac
ac
bd
bd
bd

তারপরে অনুলিপিটি এতে পরিবর্তন করে

aaaccc
aaaccc
aaaccc
bbbddd
bbbddd
bbbddd

এবং এটি পুনরায় স্থানান্তর আপনাকে দেয়

aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

4
উইন্ডোজ চুষে, তাই না? : পি
সিজেফুরে ২:20

@ ট্রিমস্টি আসলে তা করে।
গ্যারেথ

এটি সংক্ষিপ্ত: [##"1এছাড়াও, আমি জেতে গল্ফিংয়ের অলিখিত রীতি সম্পর্কে নিশ্চিত নই, তবে আমি বলব যে স্ট্রিং বিভক্তকরণ এবং অ্যাসাইনমেন্টটি বাদ দেওয়া যেতে পারে, প্রশ্নের আলগা প্রয়োজনীয়তাগুলি বিবেচনা করে। আমি অবশ্যই আমার এপিএলের উত্তরে তা করেছি। উদাহরণ:2 ([##"1) 'abcde',:'fghij'
টোবিয়া

17

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

x=(=<<).replicate
e n=unlines.x n.map(x n).lines

বিস্তৃত ফাংশনটি e, যা একটি গণনা এবং একটি স্ট্রিং নেয় এবং একটি স্ট্রিং প্রদান করে:

λ: putStrLn $ e 3 "ab\ncd\n"
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

15

এপিএল, ১১ টি চর

@ গ্যারেথ মূলত একই জিনিসটি প্রথমে জেতে করেছিলেন, সুতরাং এই এপিএল প্রবেশটি কেবল প্রদর্শনীর জন্য, প্রতিযোগিতার জন্য নয় - তিনি বিজয়ী।

      E←{⍉⍺/⍉⍺/⍵}

ব্যবহার: বাম আর্গ (⍺) এ ম্যাগনিফিকেশন, ডান আরগের (2) অক্ষরের ম্যাট্রিক্স আকারে শিল্প।
⍺ / ⍵ একটি ভেক্টর বা ম্যাট্রিক্সের প্রতিটি সারি জুড়ে উপাদানগুলি প্রতিলিপি করবে (২ / 'ওও' 'ওও ওও' হয়ে ওঠে))।
⍉⍺ / that এটি স্থানান্তরিত করবে, উপাদানগুলির প্রতিলিপি তৈরি করবে transp

(আমরা যদি প্রোগ্রামের দৈর্ঘ্যের পরিবর্তে স্পষ্টতার দিকে যাচ্ছিলাম, কোডটি E ← {⍺ / [1] ⍺ / ⍵} হতে পারে)

      I←5 32⍴' OOOOOO  OOOOOO  OOOOOO  OOOOOOOOO      OO    OO OO   OO OO     OO      OO    OO OO   OO OOOOO  OO      OO    OO OO   OO OO      OOOOOO  OOOOOO  OOOOOO  OOOOOOO'
      I
 OOOOOO  OOOOOO  OOOOOO  OOOOOOO
OO      OO    OO OO   OO OO     
OO      OO    OO OO   OO OOOOO  
OO      OO    OO OO   OO OO     
 OOOOOO  OOOOOO  OOOOOO  OOOOOOO

      3 E I
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO               
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO               
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO               
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOOOOOOOOOOO      
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOOOOOOOOOOO      
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOOOOOOOOOOO      
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO               
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO               
OOOOOO                  OOOOOO            OOOOOO   OOOOOO         OOOOOO   OOOOOO               
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO
   OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOO      OOOOOOOOOOOOOOOOOOOOO

আমার যদিও উল্লেখ করা উচিত, আমি স্ট্রিং ইনপুটটিকে একটি অক্ষর অ্যারে রূপান্তরকারী 5 টি অক্ষর ব্যবহার করি, সুতরাং আপনি কেবল আমাকে 1 টি চরিত্র দিয়ে সত্যিই মারধর করেছেন। :-)
গ্যারেথ

2
জে পিস্কি ডিজাইনের লক্ষ্য দ্বারা আবদ্ধ, যেখানে অপারেটররা ASCII অক্ষর সেটটিতে সীমাবদ্ধ। :)
মার্ক Plotnick

2
যদিও, আমরা যদি ওপি যেমন বাইট পরিমাপ করি, এটি 44 বাইট (অবশ্যই ইউনিকোড বোঝাচ্ছে, utf-8 নয়) এবং @ গ্যারেথ এখনও 17 That's এটি এএসসিআইআই-তে সীমাবদ্ধ নয় এমন ভাষাগুলির নিম্নতর দিক।
সিজেফুরে

5
@ ট্রিমস্টি তবে এপিএল এর নিজস্ব চরিত্র সেট রয়েছে যা প্রতিটি চরিত্রকে একক বাইটে মানচিত্র করে, তাই যুক্তিযুক্তভাবে এটি এখনও 11 বাইট।
অস্থিরতা

1
নিবন্ধন করুন এটি সত্যিই অদ্ভুত, দুঃখিত, জানেন না: P
cjfaure

13

বাশ / সেড স্ক্রিপ্ট, 48 টি অক্ষর

printf -vr %$1s
sed -n s/./${r// /&}/g${r// /;p}

স্ক্রিপ্ট হিসাবে সংরক্ষণ করুন chmod +xএবং চালান:

$ ./asciiexpand 3 <<< $'ab\ncd'
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd
$ 

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

এর মাংস sedহুকুমে আছে। উদাহরণস্বরূপ, যদি এন = 3 হয়, তবে সেড কমান্ডটি এমন কিছুতে প্রসারিত হবে:

sed -n 's/./&&&/g;p;p;p'

এই যৌগিক sedআদেশটি এতে বিভক্ত হতে পারে:

  • s/./&&&/g - এই বিকল্প কমান্ড প্রতিটি অক্ষরের সাথে মেলে এবং 3 বার পুনরাবৃত্তি করা অক্ষরের সাথে প্রতিস্থাপন করে
  • 3x pকমান্ড - এটি পুরো প্যাটার্ন স্পেসটি (যেমন বর্তমান লাইন) 3 বার মুদ্রণ করে

আমরা -nস্পষ্টভাবে না বলা পর্যন্ত এটি কোনও প্রিন্ট না করার জন্য তা বলে চলে গেলাম, তাই কী মুদ্রিত হয় এবং কতবার তা আমাদের সম্পূর্ণ নিয়ন্ত্রণে থাকে।

আমি নিজের মধ্যে নির্বিচারে দৈর্ঘ্যের পুনরাবৃত্তি স্ট্রিংগুলি উত্পন্ন করার দ্রুত উপায় খুঁজে বের করতে পারি না sed, সুতরাং এর bashপরিবর্তে আমি কয়েকটি কৌশল ব্যবহার করেছি:

printf -vr "%3s"

এটি 3 টি শীর্ষস্থানীয় স্পেস সহ একটি স্ট্রিং (উল্লিখিত নয়, যেমন খালি) মুদ্রণ করে এবং bashভেরিয়েবলের জন্য ফলাফল নির্ধারণ করে r

তারপরে আমরা bashস্পেসের এই স্ট্রিংটিকে রূপান্তর করতে প্যারামিটার সম্প্রসারণ ব্যবহার করি যা আমাদের sedপ্রকাশের পরিবর্তে প্রয়োজন :

$ echo ${r// /&}
&&&
$ echo ${r// /;p}
;p;p;p
$ 

printfফর্ম্যাট স্পেসিফায়ার এবং sedএক্সপ্রেশনটির চারপাশে উদ্ধৃতিগুলি সরিয়ে আমি পালাতে সক্ষম হয়েছি , কারণ এর মধ্যে থাকা কোনও অক্ষরের bashশেলের মধ্যেই পালানোর দরকার নেই ।

চরিত্র গণনা:

$ submission='r=`printf %$1s`
> sed -n s/./${r// /&}/g${r// /;p}'
$ echo ${#submission}
48
$ 

এটি কীভাবে কাজ করে তা আমার ধারণা নেই তবে এটি কীভাবে কাজ করে!
টমাস

1
পরিবর্তনশীল এন নিয়ম 1 লঙ্ঘন করে: "হার্ডকড করা যাবে না"।
manatwork

1
কেবল ব্যবহার $1এবং অপসারণ করুন n=3;, আপনি এমনকি 4 টি অক্ষর এবং সম্ভবত {}মুদ্রণযোগ্যগুলিতেও সংরক্ষণ করতে পারবেন।
টমাস

এবং হিসাবে আমরা $ 1 অনুমান সাংখ্যিক হওয়া যাবে, কোট প্রায় printf'র যুক্তি না প্রয়োজন হয় তাহলে, 52 অক্ষর সমানে সঙ্কুচিত করে আসছি আছেন: r=`printf %$1s`;sed -n "s/./${r// /&}/g${r// /;//p}"
manatwork

1
@ টমাস - এখনই এটি কীভাবে কাজ করে তা সম্ভবত আপনি খুঁজে পেয়েছেন, তবে আপনার আগ্রহের ক্ষেত্রে আমি একটি বিবরণ যুক্ত করেছি।
ডিজিটাল ট্রমা

9

PERL,  41 39 25   22 টি অক্ষর

পার্ল, সহজ এবং কার্যকর - সঠিক কাজের জন্য তৈরি। যখন অনুরোধ করা হয় -pi3, 3প্যারামিটারটি কোথায় n:

s/./$&x$^I/ge;$_ x=$^I

শাস্ত্রীয় সমাধান (39 টি অক্ষর):

$n=<>;print map{s/./$&x$n/ge;"$_"x$n}<>

ধ্রুপদী সমাধানের প্রয়োজন nহয় ইনপুটটির প্রথম লাইনে নির্দিষ্ট করা

3
ab
cd

কৌতুকের জন্য @ মান্যাটওয়ার্ককে ধন্যবাদ $&


1
কুল। কিন্তু আপনি মিলেছে অক্ষর ক্যাপচার করার দরকার নেই: s/./$&x$n/ge
manatwork

8

রুবি:  64  49 টি অক্ষর

এসটিডিনে প্রাপ্ত সমস্ত ডেটা: প্রথম স্কেলিং ফ্যাক্টরের লাইন, তারপরে এএসসিআইআই আর্ট।

BEGIN{n=gets.to_i}
$_=[$_.gsub(/./){$&*n}]*n*$/

নমুনা রান:

bash-4.2$ ruby -lpe 'BEGIN{n=gets.to_i};$_=[$_.gsub(/./){$&*n}]*n*$/' <<< '3
> ab
> cd'
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

রুবি:  44  41 টি অক্ষর

ধরে নিচ্ছি যে প্রতিটি ইনপুট লাইন লাইন বিভাজক দিয়ে সমাপ্ত হয়। @ ভেন্টোরোকে ধন্যবাদ।

$.<2?n=$_.to_i: $><<$_.gsub(/./){$&*n}*n

নমুনা রান:

bash-4.2$ ruby -ne '$.<2?n=$_.to_i: $><<$_.gsub(/./){$&*n}*n' <<< '3
> ab
> cd'
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

1
একটি সংক্ষিপ্ততর উপায় সেট করুন n: $.<2?n=$_.to_i: $><<$_.gsub(/./){$&*n}*n(দুর্ভাগ্যক্রমে, কোলনের পরে স্থানটি প্রয়োজনীয়, অন্যথায় পার্সার বিভ্রান্ত হয়ে পড়ে)। সাথে চালাও ruby -n
ভেন্টোরো

ডোহ। অ্যাসাইনমেন্টটি এন-এর জন্য সংক্ষিপ্ত করতে কয়েক ডজন পন্থা চেষ্টা করেছি, তবে আমি টার্নারি অপারেটরটি মিস করেছি missed ধন্যবাদ, ভেন্টোরো।
manatwork

6

পাইথন 3 - 84

সংক্ষিপ্ত নয় তবে ভিন্ন উত্তর একটি আকর্ষণীয় ওয়ান-লাইনার।

n=int(input())
for i in eval(input()):print(((''.join(j*n for j in i)+'\n')*n)[:-1])

প্রথমে একটি সংখ্যা রাখুন, তারপরে পাইথন তালিকার হিসাবে ASCII আর্ট করুন, যেমন:

C:\Users\User4\Desktop>c:/python33/python.exe golf.py
3
["aabb","bbcc","ccdd"]
aaaaaabbbbbb
aaaaaabbbbbb
aaaaaabbbbbb
bbbbbbcccccc
bbbbbbcccccc
bbbbbbcccccc
ccccccdddddd
ccccccdddddd
ccccccdddddd

5

গল্ফস্ক্রিপ্ট, 29 টি অক্ষর

{:i;n/{1/:c;{c{i*}/n}i*}/}:f;

এটি একটি ব্লককে সংজ্ঞায়িত করে f, যখন ডাকাটি পছন্দসই আউটপুট তৈরি করে। এটি ধরে নিয়েছে আর্গুমেন্টগুলি স্ট্যাকের মধ্যে রয়েছে (কারণ এটি মূলত গল্ফস্ক্রিপ্টে আর্গুমেন্টগুলি কীভাবে পাস হয়)।

অবহেলিত (এটি কি কোনও তাৎপর্যপূর্ণও আছে?: পি):

{:i;n/{ # for each line...
  1/:c; # save characters of string in c
  {     # i times...
    c{  # for each character...
      i*
    }/
    n
  }i*
}/}:f;


# Test run
"ab
cd" 3 f

5

গল্ফস্ক্রিপ্ট, 23 টি অক্ষর

~(:i;n/{{{.}i*}:c%c}%n*

আমি একটি সম্পূর্ণ প্রোগ্রাম লেখার সিদ্ধান্ত নিয়েছি কারণ এটি কোনও বেনাম কর্মের চেয়ে কম ওভারহেড রয়েছে:

  • ~(:i;- ইনপুটটি পরিষ্কার করুন, তারপরে গুণকটি হ্রাস করুন, এটি হিসাবে সংরক্ষণ করুন iএবং বাতিল করুন।
  • n/{...}%n* - নিউলাইন দ্বারা বিভক্ত, প্রতিটি লাইন ম্যাপ, নিউলাইন দ্বারা যোগদান
    • {...}:c%c, - একটি ব্লক নিন, মানচিত্র-প্রতিটি উপাদানগুলিতে এটি প্রয়োগ করুন, তারপরে এটি পুরো লাইনে প্রয়োগ করুন।
      • {.}i*- এই উপাদান iবার নকল

লাইভ ডেমো: http://golfscript.apphb.com/?c=OyYYWJjCmRlZiIzJwp%2BKDppO24ve3t7Ln1pKn06YyVjfSVuKg%3D%3D

ব্যবহারের উদাহরণ:

;'"abc
def"3'
~(:i;n/{{{.}i*}:c%c}%n*

5

পাইথন 3 - 109 107 93

i=input;n,s,a=int(i()),i(),[]
while s:a+=[''.join(c*n for c in s)]*n;s=i()
print('\n'.join(a))

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

ওয়ালিদ খানকে অপসারণের পরামর্শ দেওয়ার জন্য ধন্যবাদ []

aএকটি তালিকা হতে পরামর্শ দেওয়ার জন্য অস্থিরতা ধন্যবাদ ।


7
এই মাত্র লক্ষ্য করা হল;
জাস্টিন

বাইটে সংক্ষিপ্ততম কোড। এরপরে কি নিউলাইন অন্তর্ভুক্ত হবে না? আপনার গণনা 112 হওয়া উচিত নয়?
সিজেফুরে

দুঃখিত, আমি 111 বোঝাতে
চাইছি

@ ট্রিমস্টি আপনি ঠিক বলেছেন; আমি ভেবেছিলাম ওয়ার্ডকাউনটার.নেট নতুন লাইন গণনা করেছে।
জাস্টিন

2
aএকটি তালিকা তৈরি করুন , করুন a+=[''.join(c*n for c in s)]*n, তারপরে print('\n'.join(a))শেষে করুন। এটা কাজ করা উচিত।
অস্থিরতা

5

জাভা - 217

প্রথমে গল্ফ করার চেষ্টা করুন। জাভা মনে হচ্ছে এটি করার ভাষা নয়।

enum M{;public static void main(String[]a){int f=new Integer(a[0]),i=0,j,k;a=a[1].split("\n");for(;++i<a.length*f;System.out.println())for(j=0;++j<a[i/f].length();)for(k=0;k++<f;)System.out.print(a[i/f].charAt(j));}}

উইন্ডোজে আপনাকে "\ r \ n" দিয়ে "\ n" প্রতিস্থাপন করতে হবে।

java M 3 "ab
cd"
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

2
ইনপুট অক্ষরগুলি পাশাপাশি নীচের দিকে প্রসারিত হওয়া দরকার (সুতরাং উপরে আপনার আউটপুট উদাহরণে aaabbb3 টি লাইন এবং 3 লাইন হওয়া উচিত cccddd)।
গ্যারেথ

2
আপনি বাড়াতে পারবেন: 1 টির পরিবর্তে ঘোষণায় i আরম্ভ করে 1 টি অক্ষর for; X এর পরিবর্তে 8 টি অক্ষর ( a=a[1].split("\n")এবং সমস্ত x এর সাথে একটি পরিবর্তন করুন)
manatwork

3
হ্যাঁ, যে কোনও ভাষার সাথে যেখানে কেবল ঘোষণাপত্রটি mainঅন্যান্য ভাষার সম্পূর্ণ প্রোগ্রামের চেয়ে বেশি বাইট নেয়, প্রতিযোগীরা বোজি পাচ্ছেন।
মার্ক Plotnick

2
হুম ঠিক আছে। লুপের জন্য enum M{;public static void main(String[]a){int f=Integer.valueOf(a[0]),i=-1,j,k;a=a[1].split("\n");for(;++i<a.length*f;System.out.println())for(j=0;j<a[i/f].length();j++)for(k=0;k++<f;)System.out.print(a[i/f].charAt(j));}}
আউটটারটি

3
আরও 4 টি বাইট: Integer.valueOf(a[0])->new Integer(a[0])
ইউুরি শিলোভ

5

(সম্পাদনা করুন: এই সমাধানটি এখন অবৈধ কারণ নির্দেশের শব্দার্থবিজ্ঞানের পরিবর্তন হয়েছে I আমি বুঝতে পারি নি যে আমি যখনই এটি পরিবর্তন করেছি তখন আমি ইতিমধ্যে নির্দেশটি ব্যবহার করেছি You তবে আপনি কেবলমাত্র এতে পরিবর্তন করে থের প্রোগ্রামটি ঠিক করতে পারেন) নতুন নির্দেশ ।)

স্ক্লিপটিং , 19 টি অক্ষর

গুণমান গুণককে অন্তর্ভুক্ত করার জন্য ইনপুটটি \n(না \r) এবং প্রথম লাইনের দ্বারা পৃথক হওয়া প্রত্যাশা করে ।

겠坼銻標⑴가殲各標⓶各①復終겠併①復終

ব্যাখ্যা

겠坼 | split everything at \n
銻 | get first element (the factor)
標 | mark
⑴가殲 | bring list to front; remove first element (the factor)
各 | for each line...
    標⓶ | mark
    各①復終 | for each character, multiply it
    겠併 | add a newline and concatenate everything above the mark
    ①復 | multiply that
終 | end of loop

শেষে, স্ট্যাকটি দেখতে দেখতে এটির মতো হবে:

[ factor, mark, line1, line2, line3, ... ]

চিহ্নের উপরে থাকা সমস্ত কিছুই স্বয়ংক্রিয়ভাবে সংক্ষিপ্ত এবং আউটপুট, বাকীটি বাতিল।


太 有意思 有意思 了! 你 原创 者 对 对 吧?
দ্য গ্রিনক্যাবেজ

নিবন্ধন করুন 踢 木 外 是 这个 电脑 语言 的 创始人
জাস্টিন

1
@ টিমভি আপনাকে 踢 木 外 বলার জন্য দুঃখিত (বাইরে কাঠের লাথি মেরেছিলেন, চা-মু-কেন উচ্চারণ করলেন) ...
জাস্টিন

@ কুইনকুনস: হেই, আমি এটিকে মজার মনে করেছি :) তবে ফাইনালটি iউচ্চারণ করা হয়েছে [iː], [ɑi] নয়; আপনি এখন এটি চীনা ভাষায় কীভাবে লিখবেন?
টিমউই

@ টিমভি ভেবেছিলেন যে এটি কীভাবে উচ্চারণ করা হবে (তবে আমি কোনও সম্পর্কিত চরিত্রের কথা ভাবতে পারি না)। আমি অনুসন্ধান এবং কপি- পেস্টিং দ্বারা লিখেছি ( mdbg.net/chindict/chindict.php এ )
জাস্টিন

3

জে, 7 টি অক্ষর

([#"1#)

@ টোবিয়ার এপিএল উত্তরের মতো ঠিক একই জিনিস, তবে আসকি চরিত্রে।

a =. ' 0 ',.'0 0',.' 0 '
a
 0 
0 0
 0 

2 ([#"1#) a
  00  
  00  
00  00
00  00
  00  
  00  

3

পাওয়ারশেল (96)

function m($n,$s){$s.split("`n")|%{$l="";$_.ToCharArray()|%{$c=$_;1..$n|%{$l+=$c}};1..$n|%{$l}}}

ভেবেছিলাম আমি এই পিএস এ একটি শট দেব। এটা সংক্ষিপ্ত এখানে রাখার foreach এর (%) মধ্যে বংশীধ্বনিতুল্য ব্যবহার করে, কিন্তু functionToCharArrayএটা সংক্ষিপ্ততা একটি আঘাত লাগবে তৈরি করছেন।

এটি ব্যবহার করতে, আপনি কমান্ড লাইন থেকে এটি কল করুন:

PS C:\> m 3 "ab
>> cd"
>>
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

এখানে অ-ন্যূনতম সংস্করণটি রয়েছে:

function f($n, $s)
{
    $s.split("`n") | % {            # split input into separate lines
        $l=""                       # initialize an output line
        $_.ToCharArray() | % {      # split line into chars
            $c=$_ ; 1..$n | % {     # add n chars to the line
                $l+=$c 
            } 
        }
        1..$n | % {$l}              # output the line n times
    }
}

2
Mazzy প্রস্তাব function m($n,$s){-split$s|%{,(-join($_-split''|%{$_*$n}))*$n}}63 বাইট জন্য
ovs

2

জুলিয়া, cha৪ টি চর / বাইট

julia> f(i,n)=print(prod([(prod(["$c"^n for c in l])*"\n")^3 for l in split(i)]))
f (generic function with 1 method)

julia> f("ab\ncd",3)
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

আমি কেবল স্ট্রিংটি ফিরিয়ে দিলে 7 টি কম। julia>ইন্টারেক্টিভ প্রম্পট।


1
এটি আমি দেখেছি প্রথম জুলিয়া গল্ফ।
সিজেফুরে

@ ট্রিমস্টি কোডগল্ফ.স্টাকেকেক্সচেঞ্জ / সন্ধান? q = জুলিয়া এখনও খুব বিরল, তবে তারা কয়েক জন ছিলেন (আসলে ভাষার ডিজাইনারদের মধ্যে একজন)।
প্লানাপাস

@ প্লানাপাস আকর্ষণীয়! New - ~ নামে একটি নতুন, বিরল ইশালং রয়েছে! এটি আমিও ব্যবহার করেছি, যদিও এটি গল্ফিংয়ের জন্য ভয়ানক।
সিজেফুরে


2

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

param($s,$n)$s-replace'.',('$0'*$n)-split'
'|%{,$_*$n}

পরীক্ষার স্ক্রিপ্ট:

$f = {

param($s,$n)$s-replace'.',('$0'*$n)-split'
'|%{,$_*$n}

}

@(
@"
ab
cd
"@
,
@"
 OOOOOO  OOOOOO  OOOOOO  OOOOOOO      OOOOOO   OOOOOO  OO      OOOOOOO
OO      OO    OO OO   OO OO          OO       OO    OO OO      OO
OO      OO    OO OO   OO OOOOO       OO   OOO OO    OO OO      OOOOO
OO      OO    OO OO   OO OO          OO    OO OO    OO OO      OO
 OOOOOO  OOOOOO  OOOOOO  OOOOOOO      OOOOOO   OOOOOO  OOOOOOO OO
"@
) | % {
    &$f $_ 3
}

ব্যাখ্যা:

  • $s-replace'.',('$0'*$n) প্রতিটি প্রতীক পুনরায় পুনরুদ্ধার করে নতুন লাইন।
  • -split'``n' নতুন লাইন দ্বারা প্রশস্ত স্ট্রিং বিভক্ত
  • |%{,$_*$n} প্রতিটি রেখাকে অ্যারে উপাদান হিসাবে পুনরাবৃত্তি করে এবং অ্যারে প্রদান করে

ফলাফলটি প্রশস্ত এবং পুনরাবৃত্ত স্ট্রিংগুলির একটি অ্যারে।


2

আর , 83/72 বাইট

Regexps ব্যবহার করে আল্ট পন্থা

যদি আমাদের একটি চলন্ত নিউলাইন, 72 বাইটের অনুমতি দেওয়া হয়:

function(s,n)cat(gsub("([^
]*
)",r,gsub("([^
])",r<-strrep("\\1",n),s)))

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

অন্যথায়, 83 বাইট:

function(s,n)write(rep(el(strsplit(gsub("([^\n])",strrep("\\1",n),s),"\n")),e=n),1)

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



1

বর্ধিত ব্রেনফাক : 158

{a<]<[->+}3>,>3+[->4+[-<<4->>]&a>+<<]<+[-<,[>10+[-<->>+<]<[[->>+<<]3>[->[->+&a&a#3<+>>]>>]<[-]<<]>>[>[-4<[<]>[.>]>>.>]4<[-]<[-]4>[-]]>>[->+<]>[-<+<+>>]4<+<]>]

এটিতে পরিণত হয়:

ব্রেইনফাক: 185

>>>,>+++[->++++[-<<---->>]<]<[->+>+<<]<+[-<,[>++++++++++[-<->>+<]<[[->>+<<]>>>[->[->+<]<[->+<]<[->+<<<+>>]>>]<[-]<<]>>[>[-<<<<[<]>[.>]>>.>]<<<<[-]<[-]>>>>[-]]>>[->+<]>[-<+<+>>]<<<<+<]>]

এর জন্য এমন একজন দোভাষী দরকার যা ইওএফ চিহ্নিতকারী হিসাবে 0 বা কোনও পরিবর্তন নেই। beef, উবুন্টু রেপো থেকে পাওয়া, কাজগুলি ফুলে উঠেছে:

$ ( echo -n 2
> cat <<eof
> BBBB  RRRR   AAA  IIII NN  NN FFFFF * * * KK  KK
> BB BB RR RR AA AA  II  NNN NN FF      *   KK  KK
> BBBB  RRRR  AAAAA  II  NNNNNN FFFF  ***** KKKKK
> BB BB RR RR AA AA  II  NN NNN FF      *   KK  KK
> BBBB  RR RR AA AA IIII NN  NN FF    * * * KK  KK
> eof
> ) | beef double.bf
BBBBBBBB    RRRRRRRR      AAAAAA    IIIIIIII  NNNN    NNNN  FFFFFFFFFF  **  **  **  KKKK    KKKK
BBBBBBBB    RRRRRRRR      AAAAAA    IIIIIIII  NNNN    NNNN  FFFFFFFFFF  **  **  **  KKKK    KKKK
BBBB  BBBB  RRRR  RRRR  AAAA  AAAA    IIII    NNNNNN  NNNN  FFFF            **      KKKK    KKKK
BBBB  BBBB  RRRR  RRRR  AAAA  AAAA    IIII    NNNNNN  NNNN  FFFF            **      KKKK    KKKK
BBBBBBBB    RRRRRRRR    AAAAAAAAAA    IIII    NNNNNNNNNNNN  FFFFFFFF    **********  KKKKKKKKKK
BBBBBBBB    RRRRRRRR    AAAAAAAAAA    IIII    NNNNNNNNNNNN  FFFFFFFF    **********  KKKKKKKKKK
BBBB  BBBB  RRRR  RRRR  AAAA  AAAA    IIII    NNNN  NNNNNN  FFFF            **      KKKK    KKKK
BBBB  BBBB  RRRR  RRRR  AAAA  AAAA    IIII    NNNN  NNNNNN  FFFF            **      KKKK    KKKK
BBBBBBBB    RRRR  RRRR  AAAA  AAAA  IIIIIIII  NNNN    NNNN  FFFF        **  **  **  KKKK    KKKK
BBBBBBBB    RRRR  RRRR  AAAA  AAAA  IIIIIIII  NNNN    NNNN  FFFF        **  **  **  KKKK    KKKK

অব্যাহত EBF কোড:

;;;; Multiply 
;;;; Takes a digit x and ASCII art on STDIN
;;;; Prints ASCI art scaled x times
;;;; Usage:
;;;; bf ebf.bf < multiply.ebf >multiply.bf
;;;; bf multiply.bf

;;; Memory map for this program
:zero
:str
:flag
:tmp
:dup    
:num

;;; Macros

;; EOL support. Comment out the body of the two 
;; macros below to only support 0 and no change
;; Some interpreters use -1
{eol_start
  +(- 
}

{eol_end 
   )
}

;; macro that reads a digit.
;; the actual number is one more than input
;; ^12 uses 3 cells from origin
{read_number
  ,                    ; read char
  ^1 3+(-^2 4+(-^ 4-)) ; reduce by 3*4*4=48
}

;; duplicate current element
;; to the left using the right as tmp
{copy_left 
  (-^1+)^1(-^0+<+)
}

;; Duplicate char n times while
;; shifting to the right
{handle_char
  $str(-$tmp+)               ; copy the char to tmp
  $dup(-$num(->+)            ; for each dup move num
        $dup(-$num+)         ; and dup one step to the right
        $tmp(-$dup+$str+)    ; and copy the char back to str and to dup
        @flag)               ; which is the new tmp (it gets shifted to the right)
  $tmp(-)                    ; clear char when done
}

{handle_linefeed
  $dup(-                     ; for each dup
    $zero[<]>                ; go to beginnning of string
    [.>]@str                 ; print string 
    $tmp.                    ; print newline
  )
  $zero[-]<[-]>@zero         ; clean last two chars
  $tmp(-)                    ; remove line feed
}


;;; Main program 

;; read number
$tmp &read_number
$tmp (-$dup+$num+)
;$tmp,[-] ; uncomment to require a newline before asci art
$flag+(-
  $str = ,
  ( ;; NB! The line containing EOF will not be printed!
    &eol_start
    $flag 10+(-$str-$tmp+)
    if $str is not linefeed (   
       &handle_char
    ) $tmp ( linefeed
       &handle_linefeed
    ) 
    $num &copy_left      ; we need two copies of the duplicate dupber
    $flag+               ; flag to 
    &eol_end
  )  
)

1

রিবোল - 87 79

r: do input while[d: input][forskip d r[insert/dup d d/1 r - 1]loop r[print d]]

সুন্দরভাবে ফর্ম্যাট করা সংস্করণ:

r: do input

while [d: input] [
    forskip d r [insert/dup d d/1 r - 1]
    loop r [print d]
]

ব্যবহারের উদাহরণ:

rebol -qw --do 'Rebol[]r: do input while[d: input][forskip d r[insert/dup d d/1 r - 1]loop r[print d]]' <<< "3
ab
cd"
aaabbb
aaabbb
aaabbb
cccddd
cccddd
cccddd

বিশেষ দ্রষ্টব্য। এই কোডটি এই মুহুর্তে কেবল রেবোল 2 এ কাজ করে ( ব্যবহৃত ইনপুট ফাংশনটি এখনও রেবোল 3 এ পুরোপুরি প্রয়োগ করা হয়নি)।


1

আর , 125 বাইট

function(s,n,x=utf8ToInt(s),m=matrix(x[u<-x!=10],,sum(!u)+1))for(i in 1:ncol(m))cat(rep(intToUtf8(rep(m[,i],e=n)),n),sep="
")

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

স্ট্রিংটিকে ইউটিএফ 8 এ রূপান্তর করে, এমন ম্যাট্রিক্সে রাখে যার কলামগুলি পাঠ্যগুলির রেখা (নতুন লাইনগুলি সরানো) হয় এবং তারপরে নিউলাইন দ্বারা পৃথক করে মুদ্রণের আগে প্রতিটি চর এবং উত্পন্ন লাইন পুনরাবৃত্তি করে।


সম্মতি 1K উপায়! :-)
জিউসেপে

ty :-)! বেশিরভাগ প্রশ্নের আর এবং কিছু প্রশ্নের একাধিক উত্তর দেখে উত্তর দেওয়া দুর্দান্ত।
জয়সি

0

আর - 89

M=function(I,N) cat(paste(lapply(lapply(strsplit(I,""),rep,e=N),paste,collapse=""),"\n"))

I <- c("aa  aa  aa", "bbb bbb bbb", "c c c c c c")
N <- 3

I
# aa  aa  aa
# bbb bbb bbb
# c c c c c c"

M(I,N)

# aaaaaa      aaaaaa      aaaaaa 
# bbbbbbbbb   bbbbbbbbb   bbbbbbbbb 
# ccc   ccc   ccc   ccc   ccc   ccc

বেশ মজার তো. তবে আমি একটি ত্রুটি পেয়েছি: "ত্রুটি:" টিআর_স্প্লিট "ফাংশনটি খুঁজে পেল না। আপনার কোডটি চালাতে সক্ষম হওয়ার জন্য আমাকে কী স্পষ্টভাবে স্ট্রিংগার প্যাকেজ ইনস্টল করতে হবে? (দুঃখিত, আর এর সাথে পরিচিত নন)
ম্যান্যাটওয়ার্ক

catএটি স্টডআউট হিসাবে মুদ্রণের জন্য একটি কল অনুপস্থিত ? অতিরিক্তভাবে স্ট্রিংয়ের প্রতিটি উপাদান দৈর্ঘ্যে n বার পুনরাবৃত্তি করা উচিত নয় তবে প্রস্থেও পুনরাবৃত্তি করা উচিত।
প্ল্যানাপাস

এছাড়াও আপনি গলফ আপনার ফাংশন একটি বিট আরো পারেন: <-হতে পারে =, paste0এখানে দ্বারা প্রতিস্থাপিত হতে পারে pasteআপনি পতন যুক্তি যাহাই হউক না কেন ব্যবহার করছেন যেহেতু এবং যুক্তি eachকরার কমান যাবে e। আর এর সাথে গল্ফ করার বিষয়ে কিছু প্রাথমিক ধারণাগুলির জন্য এখানে দেখুন
প্ল্যানাপাস

অন্যথায়, এটি একটি দুর্দান্ত চেষ্টা (আমার নিজের স্বল্পতম প্রচেষ্টা এখনও 200 অক্ষর বা তার মধ্যে রয়েছে :))
প্ল্যানাপাস

@ মানাটওয়ার্ক ঠিক আছে, লোড হওয়ার পরে আর কোনও ত্রুটি নেইstringr
পিটারমেসনার

0

ম্যাটল্যাব: 20 টি অক্ষর

['' imresize(ans,n)]

এই সমাধানটি ধরে নিয়েছে যে চিত্রটি একটি ফাইল বলা হয় startup.mএবং এটি কল করার সময় মাতলাবকে প্রতিরূপের পরিমাণ দেওয়ার অনুমতি দেওয়া হয়, এটি এর মাধ্যমে করা যেতে পারে:!matlab -r "n=3"&

ম্যাটল্যাব, যুক্তি ছাড়াই কল করুন: 23 টি অক্ষর

load;['' imresize(s,n)]

প্রথম সমাধানের বিপরীতে, দ্বিতীয়টি ধরে নেবেন যে কলটিতে প্রতিরূপের পরিমাণ আশা করা যায় না। এই সমাধানগুলির জন্য matlab.matআপনার বর্তমান ডিরেক্টরিতে ডাকা একটি ফাইলে আসল স্ট্রিং এবং নম্বর আশা করা হয় ।

ম্যাটল্যাব, গাণিতিক বিকল্প: 27 টি অক্ষর

load;['' kron(s,ones(1,n))]

0

সি # (177)

public string e(string i,int x){return string.Join("",i.Split('\n').Select(a=>string.Join("",Enumerable.Repeat(string.Join("",a.ToCharArray().Select(c=>new string(c,x))),x))));}

ডিলিমিটার হিসাবে ইনপুট স্ট্রিং "i" নতুন লাইন যুক্ত "\ n" আশা করে।

বিন্যাস করা

public string e(string i, int x)
{
    return string.Join("", i.Split('\n').Select(a => string.Join("", Enumerable.Repeat( string.Join("", a.ToCharArray().Select(c => new string(c, x))), x))));
 }

0

সিজেম, 14 বাইট

সিজেএম এই চ্যালেঞ্জের চেয়ে নতুন (এবং আমি যে প্রধান বৈশিষ্ট্যটি ব্যবহার করছি তা আসলে খুব সাম্প্রতিক), সুতরাং এই উত্তরটি গৃহীত হওয়ার পক্ষে যোগ্য হবে না - তবে এটি এপিএলকে কোনওভাবেই পরাজিত করছে না, তাই ...

l~qN/1$e*fe*N*

এটি এখানে পরীক্ষা করুন।

ব্যাখ্যা

নতুন দিয়ে e*যা প্রতিটি চরিত্রকে স্ট্রিংয়ে পুনরাবৃত্তি করে, এটি সত্যই সোজা:

l~             e# Read and eval the scale factor.
  qN/          e# Read the rest of the input as the ASCII art and split into lines
     1$e*      e# Copy the scale factor and repeat each line by it.
         fe*   e# Repeat the characters in each line by the scale factor.
            N* e# Join with newlines.

আমি বুঝতে পারি এটি একটি পুরানো উত্তর, তবে আপনি পরিবর্তে কোনও ফাংশন ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন:{N/1$fe*e*N*}
ফলসকে

0

RProgN 100 বাইট (উইন্ডোজ) অ-প্রতিযোগিতা

'l' asoc
'i' asoc
i '[^
]' '%0' l rep replace '[^
]*' '%0
' l rep 'z' asoc z 1 z len 1 - sub replace

আরপিগ্রন লেখার ক্ষেত্রে অক্ষর থেকে দূরে নেই, যা কোনও নতুন লাইনের হ্যান্ডলিংয়ের জন্য একটি শারীরিক নতুন লাইনের প্রয়োজন। এই হিসাবে, এই উত্তরটি (এবং কোনও ইনপুট) কেবল এলএফ-এর পরিবর্তে সিআরএলএফ ব্যবহার করতে হবে। :(

এছাড়াও, 'প্রতিবেদক' ফাংশনটি কেবল এই চ্যালেঞ্জ জারি হওয়ার পরে যুক্ত করা হয়েছিল, যেমন এটি প্রতিদ্বন্দ্বী is


0

ভিম, 39 কীস্ট্রোক (ইনপুট বাদ দিয়ে, প্রতিযোগিতা নয়)

গোটচা এবং কারণ এটি প্রতিযোগিতা করছে না কারণ ইনপুটটি দু'বার প্রবেশ করতে হবে। 2আপনার নিজের ইনপুট দিয়ে উভয় প্রতিস্থাপন করুন।

qayl2phxl@aquu:%norm @a<cr>gg0qbyy2P2jkddj@bq@b

ব্যাখ্যা

  • qayl2phxl@aquuএকটি ম্যাক্রো রেকর্ড করে যা একটি চরিত্রকে ফাঁস করে দেয়, এটি আটকান এবং পরের দিকে যান, তারপরে নিজেকে পুনরায় প্রদর্শন করে। তারপরে এটি পরিবর্তনগুলি পূর্বাবস্থায় ফিরে আসে। যেহেতু আমরা চাই লুপটি অসীম না হয়, আমরা চরিত্রটি মুছব না, যার অর্থ আমাদের বহিরাগতটিকে মুছতে হবে তবে এখনও একটি চলাচল শেষ করতে হবে যা শেষ চরটিতে ব্যর্থ হয়।
  • :%norm @a<cr> প্রতিটি লাইনে ম্যাক্রো চালায়
  • gg0 একেবারে শুরুতে ফিরে আসে
  • qbyy2P2jkddj@bq@b@aপ্রতিটি লাইন অনুলিপি করতে একই কৌশল ব্যবহার করে, কিন্তু একটি পুনরাবৃত্ত ম্যাক্রো সঙ্গে।

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

পূর্ববর্তী উত্তর (32 টি কীস্ট্রোক, কেবল দ্বিগুণ)

qaylpl@aqu:%norm @a<cr>:%s/.*/&\r&<cr>

ব্যাখ্যা

  • qaylpl@aquএকটি ম্যাক্রো রেকর্ড করে যা একটি চরিত্রকে ফাঁস করে দেয়, এটি আটকান এবং পরের দিকে যান, তারপরে নিজেকে পুনরায় প্রদর্শন করে। পরিবর্তনটি পূর্বাবস্থায় ফেরান।
  • :%norm @a<cr> প্রতিটি লাইনে ম্যাক্রো চালায়
  • :%s/.*/&\r&<cr> প্রতিটি লাইন দ্বিগুণ

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

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