অ্যাবাকাবা ক্রম তৈরি করুন


35

এই চ্যালেঞ্জটি একটি নির্দিষ্ট গভীরতার আবাকাবা ক্রম মুদ্রণ সম্পর্কে।

এখানে প্রথম 5 টি সিকোয়েন্সের চিত্রটি রয়েছে ( a(N)এটি গভীরতার এন এর আবাকবা ক্রম, উচ্চ / ছোট হাতের প্যাটার্নটি দেখানোর জন্য, এটি আপনার প্রোগ্রামের আউটপুটে প্রয়োজন হয় না):

a(0) = A
a(1) = aBa
a(2) = abaCaba
a(3) = abacabaDabacaba
a(4) = abacabadabacabaEabacabadabacaba
...
a(25) = abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabajabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaia...

আপনি সম্ভবত বলতে পারেন, n'th অ্যাবাকাবা ক্রমটি n'th বর্ণ সহ সর্বশেষ এবং এটি আবার যুক্ত হয়েছে added ( a(n) = a(n - 1) + letter(n) + a(n - 1))

আপনার কাজটি এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করা যা একটি পূর্ণসংখ্যার গ্রহণ করে এবং সেই গভীরতার আবাকাবা ক্রমটি মুদ্রণ করে। কমপক্ষে 15 টি পর্যন্ত মান সহ আউটপুট কমপক্ষে সঠিক হতে হবে।


3
ক্রমটি the এর পরে অপরিবর্তিত হবে না?
LegionMammal978

3
@ এনিকায়েল আমি জানি, আমি কেবল ভাবছিলাম যে কীভাবে 𝑎 (∞) সংজ্ঞায়িত করা হবে।
LegionMammal978

2
আরও সহজে গুগল-সক্ষম কোনও কিছুর জন্য, এছাড়াও শাসক সিকোয়েন্স (তবে সংখ্যার পরিবর্তে অক্ষর সহ) হিসাবে পরিচিত ।
ব্যবহারকারী 253751

4
এটির জন্য মূল্যবান, এই সমস্যাটির যে কোনও বৈধ সমাধান হ'ল এন ডিস্কের জন্য হ্যানয় ধাঁধাটির টাওয়ারগুলির সমাধান ।
জেফ জিটলিন

3
আমরা কি 0-ভিত্তিক সূচকের পরিবর্তে 1-ভিত্তিক সূচক ব্যবহার করতে পারি?
17

উত্তর:


8

পাইথ, 11 বাইট

u++GHG<GhQk

সাধারণ হ্রাস।


2
পছন্দ করুন কোনও ধারণা নেই, 0খালি অনুক্রমের আইএমও হওয়া উচিত, তবে আমি এই প্রশ্নের সাথে সামঞ্জস্য করব ...
orlp

4
হ্যাঁ, সরল যায় এবং প্রাচীরের দিকে মাথা
ঠেকায়

@ জ্যাটকিন rev-doc.txtএই উত্তরটির পাশেই পাইথের খুলুন এবং এটি সহজেই নিজেকে সহজ বলে দেখানো উচিত।
orlp

হেইহে, আমি যা বোঝাতে চেয়েছি তা নয় (আমি পাইথকে জানি না, তাই ....)
জে

7

পাইথন, 44 বাইট

f=lambda n:"a"[n:]or f(n-1)+chr(97+n)+f(n-1)

সন্দেহজনকভাবে সম্ভবত-গল্ফযোগ্য হতে পারে।


7

হাস্কেল, 39 37 বাইট

a 0="a"
a n=a(n-1)++['a'..]!!n:a(n-1)

ব্যবহারের উদাহরণ: a 3-> "abacabadabacaba"

সম্পাদনা করুন: @ এঙ্গুলগুলি সংরক্ষণ করতে দুটি বাইট পেয়েছে। ধন্যবাদ!


a n=a(n-1)++[97+n]++a(n-1)কাজ করবে না ? এখনই পরীক্ষা করতে পারবেন না Can
seequ

@ সিক: না, [97+n]একটি তালিকা Integerএবং a(n-1)এটি Char(ওরফে String) একটি তালিকা । আপনি বিভিন্ন ধরণের সাথে তালিকাকে একত্রিত করতে পারবেন না। toEnumএকটি Charআউট তোলে Integer
নিমি

আহা, আমি সবসময় ভেবেছিলাম হাসকেলে চর কেবলমাত্র একটি বিশেষ পূর্ণসংখ্যা ছিল।
seequ

['a'..]!!n2 বাইটের চেয়ে কম হয়toEnum(97+n)
অ্যাঙ্গস

@ অংস: ভাল ধরা! ধন্যবাদ!
নিমি

6

পাইথ, 14 13 বাইট

একটি বাইট সংরক্ষণ করার জন্য জাকুবকে ধন্যবাদ!

VhQ=+k+@GNk;k

14 জনের সাথে একটি সমাধান বাইট: VhQ=ks[k@GNk;k

ব্যাখ্যা:

VhQ=+k+@GNk;k

               # Implicit: k = empty string
VhQ            # For N in range input + 1      
   =           # Assign k
      +@GNk    # Position N at alphabet + k
    +k         # k + above
           ;   # End loop
            k  # Print k

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


"এন ইন রেঞ্জ" Vলাইনে থাকা উচিত নয়? hQঠিকeval(input) + 1
লুভজো

@ লভজো হ্যাঁ, এটি আরও ভাল এবং কম বিভ্রান্তিকর :)
আদনান

আপনি সংক্ষিপ্ত =kকরতে পারেন =। Pyth স্বয়ংক্রিয়ভাবে ফলাফলের দায়িত্ব অর্পণ করবে k, যেহেতু kঅভিব্যক্তি প্রথম পরিবর্তনশীল +k+@GNk
জাকুব

@ জাকুব আপনাকে অনেক ধন্যবাদ! :)
আদনান

এই চ্যালেঞ্জের জন্য আমার কাছে আলাদা উত্তর আছে। এটি এই সমাধানটিকে পরাভূত করবে না, তবে এটি ক্রমের প্রথম এন অক্ষর দেওয়ার জন্য একটি কৌশল তুলে ধরেছে: Vt^2Q=+k@Gx_.BhN`1)k(এই উদাহরণে, চ্যালেঞ্জের জন্য এটি প্রথম 2 ^ কিউ -1 অক্ষর দেওয়ার জন্য সেট করেছে তবে আপনি দেখতে পাচ্ছেন কীভাবে এটি পরিবর্তন করবেন))
কুইন্টোপিয়া

5

রেটিনা , 37 32 বাইট

$
aa
(T`_l`l`.$
)`1(a.*)
$1$1
z

পেছনের লাইনফিডটি তাৎপর্যপূর্ণ। ইনপুট আনারিতে নেওয়া হয়

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


এটা কাজ করে না.
লিকি নুন

@ কেনি লাউ হ্যাঁ, কারণ আমি এই উত্তরটি পোস্ট করার পরে রেটিনা বদলে গেছে। এটি সরাসরি গিটহাব থেকে প্রকাশিত হওয়ার সময়ে প্রকাশিত প্রকাশটি যদি আপনি পরীক্ষা করে দেখেন তবে এটি তার সাথে কাজ করবে।
মার্টিন ইন্ডার

5

ব্রেইনফাক, 157 বাইট

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

বাইনারি ইনপুট দেওয়া হয়।

মূল ধারণাটি হ'ল বারবার বর্তমান অনুক্রমের নকল করা ("ক" দিয়ে শুরু করা) এবং প্রতিটি পুনরাবৃত্তির পরে শেষ উপাদানটিকে বাড়িয়ে তোলা:

  1. a → aa → ab

  2. ab → abab → abac

  3. abac → abacabac → abacabac

  4. ...

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

গভীরতর ব্যাখ্যা

স্মৃতিটি নিম্নলিখিত পদ্ধতিতে সাজানো হয়েছে:

.---------.-.-----.----.---.-----.----.---.---
|Countdown|0|Value|Copy|End|Value|Copy|End|...
'---------'-'-----'----'---'-----'----'---'---

            |--Element 1---|--Element 2---|

কাউন্টডাউন কপিরাইট সাইকেলগুলির সংখ্যা ধারণ করে যা এখনও কার্যকর করা যায়নি। অ্যাব্যাকাএ সিকোয়েন্সটি অ্যাডিজেন্ট ব্লকগুলিতে সংরক্ষণ করা হয়, প্রতিটি 3 টি কোষ দ্বারা গঠিত। মান উপাদানটির অক্ষর ধারণ করে (যেমন "এ", "বি", "সি" ...)। অনুলিপি পতাকা ইঙ্গিত কিনা তা আপনি সংশ্লিষ্ট উপাদান (0 = কপি, 1 = না) বর্তমান অনুলিপি চক্র মধ্যে কপি করা প্রয়োজন। শেষ পতাকা যখন এটি কপি করা হচ্ছে শেষ উপাদান জন্য 0 সেট করা হয় (এটা অন্য সব ক্ষেত্রেই 1 এর)।

এখন আসল (কিছুটা অবরুদ্ধ) প্রোগ্রামে:

,                       read Countdown from input
+                       add 1 to avoid off-by-one error
>-[>++<-----]>-----     initialize value cell of first element to 97 ("a")
>>+                     set End flag of first element to 1
<<<<                    move to Countdown
[                       loop until Countdown hits 0 (main loop)
    -                   decrement Countdown
    >>                  move to Value cell of first element
    [                   copying loop
        [               duplication sub-loop
            -           decrement Value cell of the element to copy
            >>          move to End flag
            [>>>]       move to End flag of the last element
            <+<+        increment Copy and Value cell of last element (Copy cell is temporarily abused)
            <           move to End flag of second to last element
            [<<<]>>     move back to Copy cell of first element
            [>>>]<      move to Value cell of the first element where the Copy flag is 0
        ]
        >>[>>>]<        move to (abused) Copy flag of the last element
        [               "copy back" sub-loop
            -           decrement Copy flag
            <<          move to End flag of second to last element
            [<<<]>>     move back to Copy cell of first element
            [>>>]<      move to Value cell of the first element where the Copy flag is 0
            +           increment Value cell
            >>[>>>]<    move back to Copy flag of the last element
        ]
        +>+             set Copy and End flag to 1
        <<<             move to End flag of second to last element
        [<<<]>>         move back to Copy cell of first element
        [>>>]<          move to Value cell of the first element where the Copy flag is 0
        >+<             set Copy flag to 1
        >[>>>]<         move to Value cell of the next element to copy
    ]                   loop ends three cells behind the last "valid" Value cell
    <<<+                increment Value cell of last element
    >>                  move to End flag
    [<-<<]              reset all Copy flag
    <                   move to Countdown
]
>>>>                    move to End flag of first element
[>>>]<<<                move to End flag of last element                
<<<                     skip the last element
[<<.<]                  output Value cells (in reverse order, but that doesn't matter)

2
সাইটে স্বাগতম! আমি আরও বিস্তারিত ভাঙ্গনের আগ্রহী!
গম উইজার্ড

1
@ শ্রুতচিলিজম ও'জাইক আপনার জবাবের জন্য ধন্যবাদ :) আমি এখন একটি বিস্তারিত ব্যাখ্যা যুক্ত করেছি।
অরথপ্লেক্স

5

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

tail.(iterate((:"a").succ=<<)"_a"!!)

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

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

aba -> bcb -> abacaba

1
আপনি কি এর bcbপরিবর্তে মানে cbc?
জো কিং

4

05 এবি 1 ই , 12 বাইট (অ-প্রতিযোগিতামূলক)

কোড:

'aIGDN>.bsJl

ধিক্কার জানাতে হবে। আমি এই চ্যালেঞ্জ হাহাকে ধন্যবাদ প্রচুর বাগগুলি স্থির করেছি।

ব্যাখ্যা:

'aIGDN>.bsJl

'a             # Push the character 'a'
  I            # User input
   G           # For N in range(1, input)
    D          # Duplicate the stack
     N         # Push N
      >        # Increment
       .b      # Convert to alphabetic character (1 = A, 2 = B, etc.)
         s     # Swap the last two elements
          J    # push ''.join(stack)
           l   # Convert to lowercase
               # Implicit: print the last item of the stack

কেন এটি অপ্রতিযোগিতামূলক?
লুভজো

@ লভজো আমি চ্যালেঞ্জ পোস্ট হওয়ার পরে বাগগুলি স্থির করেছিলাম , সুতরাং এটি অপ্রতিযোগিতামূলক :(
আদনান

4

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

a=n=>n?a(--n)+(n+11).toString(36)+a(n):"a"

একটি বাইট সংরক্ষিত হয়েছে @ নীলকে ধন্যবাদ !

তবুও অন্য একটি সহজ পুনরাবৃত্তি সমাধান ...


(n+11).toString(36)আপনাকে 1 বাইট বাঁচায় এবং একটি (25) পর্যন্ত কাজ করে!
নীল

@ নীল বাস্তবায়িত। ধন্যবাদ!
ব্যবহারকারী 81655


3

রুবি (1.9 এবং উপরে), 38 বাইট

?aলেখার একটি গল্ফিয়ার উপায় "a"তবে টার্নারি মিশ্রিত হয়ে অদ্ভুত লাগে?:

a=->n{n<1??a:a[n-1]+(97+n).chr+a[n-1]}

3

আর , 48 বাইট

f=function(n)if(n)paste0(a<-f(n-1),letters[n],a)

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

সাধারণ পুনরাবৃত্তি।


আহ, পেস্ট 0 কি ???
শি'আন

@ সিয়ান paste0সমতূল্য pasteসঙ্গে sep="", তাই আপনি যে অক্ষর মধ্যে শূণ্যস্থান এড়াতে pasteডিফল্টরূপে যোগ হবে।
রবিন রাইডার

2

সি #, 59 বাইট

string a(int n){return n<1?"a":a(n-1)+(char)(97+n)+a(n-1);}

আরও একটি সি # সমাধান ...


2

পার্ল, 33 বাইট

map$\.=chr(97+$_).$\,0..pop;print

আন-গল্ফ করার কোনও বাস্তব প্রয়োজন নেই। 'ক' এর ASCII মানটিকে তার প্রারম্ভিক বিন্দু হিসাবে ব্যবহার করে স্ট্রিংটির বিপরীতে পরবর্তী অক্ষরটি যথাযথভাবে পরবর্তী অক্ষর যুক্ত করে স্ট্রিং তৈরি করে। ব্যবহারসমূহ$\কয়েকটি স্ট্রোক বাঁচাতে করে, তবে এটি যতটা কৌশলযুক্ত তা হ'ল প্রায়।

জন্য কাজ করে a(0)মাধ্যমে a(25)এবং এমনকি তার পরেও। যদিও আপনি পরে বর্ধিত এএসসিআইআই তে প্রবেশ করলেও a(29)অক্ষর কোডগুলি ফুরিয়ে যাওয়ার অনেক আগে আপনি স্মৃতি থেকে সরে যাবেন:

a(25)~ 64MiB হয়। a(29)~ 1GiB।

a(255)(অরীক্ষিত!) এর ফলাফল সংরক্ষণের জন্য , একটির জন্য 2 ^ 256 - 1 = 1.15x10 ^ 77 বাইট বা প্রায় 1.15x10 ^ 65 1-টেরাবাইট ড্রাইভের প্রয়োজন হবে।


1
আমাদের এখন
ক্যালকুলেটরফলাইন

2

জাভা 7, 158 বাইট

class B{public static void main(String[]a){a('a',Byte.valueOf(a[0]));}static void a(char a,int c){if(c>=0){a(a,c-1);System.out.print((char)(a+c));a(a,c-1);}}}

আমি পিপিসিজির আশেপাশে ঘুরে বেড়াতে পছন্দ করি এবং আমি অন্যান্য উত্তরগুলিতে ভোট / মন্তব্য করতে পেরে উপভোগ করব।

প্রোগ্রামের পরামিতি হিসাবে ইনপুট দেওয়া হয়। এটি এখানে অন্যান্য উত্তরগুলির মতো একই ফর্ম্যাটটিকে অনুসরণ করে যে এটি সরাসরি এগিয়ে যাওয়ার পুনরাবৃত্তিমূলক বাস্তবায়ন। আমি অন্য উত্তরে মন্তব্য করতাম তবে এখনও মন্তব্য করার মতামত আমার কাছে নেই। এটি স্ট্রাক তৈরির পাশাপাশি এটি পাস করার পরিবর্তে পুনরাবৃত্ত কলটিও দু'বার করা হয়েছে বলে কিছুটা আলাদা।


পিপিসিজিতে আপনাকে স্বাগতম! আমি আশা করি আপনি ভবিষ্যতে ভোট দেওয়ার এবং মন্তব্য করার চেয়ে আরও কিছু করবেন (তবে আপনার নিজের মতো লাগবে না)। :)
মার্টিন এন্ডার

2

গণিত, 36 32 বাইট

##<>#&~Fold~Alphabet[][[;;#+1]]&

আপনি কি দুইবার 11 বি দেখেছেন?


এর জন্য কোনও প্রয়োজন নেই "",এবং তারপরে আপনি ইনফিক্স স্বরলিপিটি ব্যবহার করতে পারেন Fold
মার্টিন এন্ডার

# 1 নাল <>গুলি সৃষ্টি করে এবং # 2 শুধুমাত্র বাইনারি ফাংশনগুলির জন্য কাজ করে।
ক্যালকুলেটরফলাইন

আপনি যে উত্তরটি চেয়েছিলেন তা নিয়ে এই মন্তব্যটি পোস্ট করেছেন? কারণ আপনি কী বলতে চাইছেন তা আমার কোনও ধারণা নেই। :)
মার্টিন ইন্ডার

* # 1 স্ট্রিংজউইনকে নালিতে যোগ দেয় এবং # 2 শুধুমাত্র বাইনারি বা সহযোগী কার্যকারিতা জন্য কাজ করে। (x ~ ভাঁজ ~ y ~ ভাঁজ ~ z = ভাঁজ [এক্স, ভাঁজ [y, z]] ভাড়ার পরিবর্তে [x, y, z])
ক্যালকুলেটরফ্লাইন

ওহ আপনার অর্থ "পরামর্শ # 1"। না এটি নুলস সৃষ্টি করে না। কেন হবে?
মার্টিন ইন্ডার

2

পাইথন, 62 54 46 45 বাইট

আমি ভাবতে চাই যে এই কোডটি এখনও কোনওভাবে গল্ফ করা যেতে পারে।

সম্পাদনা করুন: লিনকে বাগ ফিক্স ধন্যবাদ। স্কোয়াড -1 বাইট ধন্যবাদ।

a=lambda n:n and a(n-1)+chr(97+n)+a(n-1)or'a'

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


আউটপুট অল-লোয়ারকেসে থাকা উচিত। প্রশ্নের বড় হাতের অংশটি পুনরাবৃত্তি সম্পর্কে কেবল স্পষ্টতার জন্য।
লুভজো

উপস। স্পষ্টির জন্য ধন্যবাদ।
শার্লক

Blargle। ধন্যবাদ @ user81655
শার্লক

এটি অবৈধ (এটি কখনই শেষ হয় না - চেষ্টা করে দেখুন)। এমনকি বেস কেসে, প্রকাশের পুনরাবৃত্ত অংশটি মূল্যায়ন করা হয়।
লিন

সংশোধন করা হয়েছে। ধন্যবাদ @ লিন!
শার্লক 9

1

গণিত, 46 বাইট

If[#<1,"a",(a=#0[#-1])<>Alphabet[][[#+1]]<>a]&

সাধারণ পুনরাবৃত্তি ফাংশন। আরেকটি সমাধান:

a@0="a";a@n_:=(b=a[n-1])<>Alphabet[][[n+1]]<>b

1

কে 5, 18 বাইট

"A"{x,y,x}/`c$66+!

বারবার একটি বাহিত মান ( "A") এবং একটি অনুক্রমের প্রতিটি উপাদান একটি ফাংশন প্রয়োগ করুন । ক্রমটি হ'ল বি থেকে বর্ণসংখ্যক কিছু অক্ষর এন ( `c$66+!) অবধি । ফাংশনটি ডান আর্গুমেন্টের (উভয় পক্ষের {x,y,x}) বাম যুক্তিতে যোগ দেয় ।

কর্মে:

 ("A"{x,y,x}/`c$66+!)'!6
("A"
 "ABA"
 "ABACABA"
 "ABACABADABACABA"
 "ABACABADABACABAEABACABADABACABA"
 "ABACABADABACABAEABACABADABACABAFABACABADABACABAEABACABADABACABA")

আমি মনে করি ক্রমটি ছোট হাতের হওয়া উচিত, তবে এটির কোনও বাইট নেই।
user48538

1

জাভাস্ক্রিপ্ট, 65 57 1 বাইট

n=>eval('s="a";for(i=0;i<n;i++)s+=(i+11).toString(36)+s')

ডেমো:

function a(n){
  return eval('s="a";for(i=0;i<n;i++)s+=(i+11).toString(36)+s')
}
alert(a(3))

1 - 8 টি বাইট সংরক্ষণের জন্য নীলকে ধন্যবাদ জানাই


(i+11).toString(36)আপনাকে 6 বাইট সাশ্রয় করে।
নীল

@ নীল হা, এটি একটি চালাক হ্যাক
নিকেল 18

ওহ, এবং আপনি যদি পূর্বের s="a";আগে অ্যাসাইনমেন্টটি সরিয়ে নিয়ে থাকেন forতবে এটি ডিফল্ট রিটার্ন মান হয়ে যায় এবং আপনি ;sঅন্য 2 বাইট সাশ্রয়ের জন্য পিছনে ফেলে দিতে পারেন ।
নীল

@ নীল নিস, সে সম্পর্কে জানতেন না।
নিকেল 18

আমি মনে করি আপনি iইনলাইন বাড়িয়ে এবং ইনক্রিমেন্টটি লুপের জন্য ছেড়ে দিয়ে একটি বাইট সংরক্ষণ করতে পারেন । সুতরাং ...for(i=0;i<n;)s+=(i+++11)...
চার্লস

1

জাপট, 20 17 বাইট

97oU+98 r@X+Yd +X

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

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

         // Implicit: U = input integer
65oU+66  // Generate a range from 65 to U+66.
r@       // Reduce each item Y and previous value X in this range with this function:
X+Yd     // return X, plus the character with char code Y,
+X       // plus X.

         // Implicit: output last expression

অ-প্রতিযোগিতামূলক সংস্করণ, 14 বাইট

97ôU r@X+Yd +X

ôফাংশন ভালো হয় o, কিন্তু পরিসর সৃষ্টি [X..X+Y]পরিবর্তে [X..Y)এটি অনলাইন পরীক্ষা!

আমি 97 থেকে 94 পরিবর্তন করা বেশি পছন্দ করি, সেক্ষেত্রে ফলাফলটি 5এরকম দেখায়:

^_^`^_^a^_^`^_^b^_^`^_^a^_^`^_^c^_^`^_^a^_^`^_^b^_^`^_^a^_^`^_^

1

জাভা, 219 বাইট

আমার প্রথম কোড গল্ফ চেষ্টা। সম্ভবত আরও গল্ফ করা যেতে পারে তবে আমি ক্ষুধার্ত এবং মধ্যাহ্নভোজনে যাচ্ছি।

public class a{public static void main(String[]a){String b=j("a",Integer.parseInt(a[0]),1);System.out.println(b);}public static String j(String c,int d,int e){if(d>=e){c+=(char)(97+e)+c;int f=e+1;c=j(c,d,f);}return c;}}

Ungolfed:

public class a {
    public static void main(String[] a) {
        String string = addLetter("a", Integer.parseInt(a[0]), 1);
        System.out.println(string);
    }

    public static String addLetter(String string, int count, int counter) {
        if (count >= counter) {
            string += (char) (97 + counter) + string;
            int f = counter + 1;
            string = addLetter(string, count, f);
        }
        return string;
    }
}

খুব সোজা সোজা ব্রুট ফোর্স রিকারসিভ অ্যালগরিদম, charম্যানিপুলেশন ব্যবহার করে।


আপনি এবং / publicথেকে কীওয়ার্ডটি বাদ দিতে পারেন । aaddLetterj
ডরোকায়হান মনিকা

1

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

0i:"t@whh]97+c

এটি 8.0.0 সংস্করণ ব্যবহার করে ভাষা / সংকলকের যা চ্যালেঞ্জের চেয়ে আগের।

উদাহরণ

>> matl
 > 0i:"t@whh]97+c
 >
> 3
abacabadabacaba

ব্যাখ্যা

Secuence সংখ্যার প্রথম তৈরি করা হয় 0, 1, 2, ... এই অক্ষরে রূপান্তরিত হয় 'a', 'b', 'c'শেষে।

0         % initiallize: a(0)
i:        % input "N" and create vector [1, 2, ... N]
"         % for each element of that vector
  t       % duplicate current sequence
  @       % push new value of the sequence
  whh     % build new sequence from two copies of old sequence and new value
]         % end for
97+c      % convert 0, 1, 2, ... to 'a', 'b', 'c'. Implicitly print

সম্পাদন করা

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


1

পাওয়ারশেল, 53 , 46 , 44 , 41 বাইট

1..$args[0]|%{}{$d+=[char]($_+96)+$d}{$d}

কনসোলে আটকানো $dপুনরায় সূচনা না হওয়ায় দ্বিতীয় দৌড়ে ক্ষতিকারক আউটপুট উত্পন্ন হবে ।

@ টিমমিডকে ধন্যবাদ দিয়ে + = 3 টি বাইট সংরক্ষণ করে 2 বাইট সংরক্ষণ করুন


বাস্তবিক @TimmyD যেহেতু আমি প্রয়োজন হবে না 41 এটিকে নিচে পায় (, )
জোনাথন লিচ-পেপিন

না, এটি আমার দোষ ছিল, আমি আসলে এটি আপডেট করতে ভুলে গিয়েছিলাম যদিও আমি বলেছিলাম did
জোনাথন লিচ-পেপিন

স্ক্রিপ্টটি 0 দিয়ে বিশৃঙ্খলা সৃষ্টি করে না এবং বড় হাতের অক্ষর তৈরি করে না
mazzy





1

এপিএল (এনএআরএস), 24 টি চর, 48 বাইট

{⍵<0:⍬⋄k,⎕A[⍵+1],k←∇⍵-1}

পরীক্ষা:

  f←{⍵<0:⍬⋄k,⎕A[⍵+1],k←∇⍵-1}
  f 0
A
  f 1
ABA
  f 2
ABACABA
  f 3
ABACABADABACABA
  f 4
ABACABADABACABAEABACABADABACABA

1
এপিএল কি এই 24 বাইট তৈরি করে প্রতিটি চরিত্রকে একটি বাইটের সাথে নিজস্ব কোড পৃষ্ঠা ব্যবহার করে না?
লুভজো

@ লভজো যা জানি আমি তার জন্য নরস
এপল

1

পিএইচপি -r , 43 বাইট

register_argc_argv এটি কাজ করার জন্য অবশ্যই সক্ষম করা উচিত।

for($a=$b=a;$argv[1]--;$a.=++$b.$a);echo$a;

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

পিএইচপি , 51 বাইট

একটি অনামী ফাংশন যা সরাসরি আউটপুট প্রিন্ট করে।

function($n){for($a=$b=a;$n--;$a.=++$b.$a);echo$a;}

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

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