সংখ্যাগুলির একটি ব্যাপ্তি পূর্বাবস্থায় ফেরান


34

এটি একটি সংখ্যা দেওয়া n, থেকে শুরু 0করে একটি পরিসীমা তৈরি করা মোটামুটি সহজ n-1। আসলে, অনেক ভাষা এই অপারেশনটি বিল্টিন হিসাবে সরবরাহ করে।

নিম্নলিখিত সিজেএম প্রোগ্রামটি একটি পূর্ণসংখ্যা পড়ে এবং তারপরে এমন একটি পরিসীমা মুদ্রণ করে ( এটি অনলাইনে চেষ্টা করে দেখুন! ):

ri,

লক্ষ্য করুন যে এটি বিভাজক ছাড়াই সংখ্যা প্রিন্ট করে ।

চ্যালেঞ্জ

আপনার কাজটি এই প্রক্রিয়াটি বিপরীত করা। আপনার এমন একটি প্রোগ্রাম লিখতে হবে যা একটি পরিসীমা উপস্থাপন করে একটি স্ট্রিং প্রদান করে, সেই ব্যাপ্তি উত্পাদন করতে ব্যবহৃত নম্বরটি প্রদান করে।

বিশেষ উল্লেখ

  • সংখ্যাগুলি কোনও বিভাজক ছাড়াই দেওয়া হয়।
  • আপনি ধরে নিতে পারেন যে স্ট্রিংটি একটি বৈধ ব্যাপ্তি তৈরি করে।
  • আপনি আপনার ব্যাপ্তির জন্য 0- বা 1-ভিত্তিক সূচক ব্যবহার করতে পারেন।
  • আপনি ধরে নিতে পারেন যে একটি সঠিক আউটপুট কখনও 32,767 এর বেশি হবে না (সুতরাং কোনও বৈধ ইনপুটটির দৈর্ঘ্য 152,725 এর বেশি কখনও হবে না)।
  • আপনি ধরে নিতে পারেন যে একটি সঠিক আউটপুট সর্বদা ইতিবাচক হবে (যাতে আপনার 0 বা নেতিবাচক হ্যান্ডেল করতে হবে না)।

এটি , তাই সংক্ষিপ্ত প্রতিযোগিতামূলক উত্তর (বাইটগুলিতে পরিমাপ করা) জিতেছে।

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

0-ইন্ডেক্স:

0123 -> 4
0 -> 1
0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 101

1-ইন্ডেক্স:

1234 -> 4
1 -> 1
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 100

কোন অবতরণ রেঞ্জ আছে? এটির জন্য কি নেতিবাচক সংখ্যার জন্য কাজ করা দরকার?
ড্যানিয়েল

@ ড্যানিয়েল নং এটি উল্লেখ করতে ভুলে গেছেন; এখনো যোগ করেনি।
ফল ফলবান

4
আমাদের প্রোগ্রামগুলি কি সত্যিই খালি স্ট্রিং পরিচালনা করতে হবে? আমি মনে করি এটি আমাদের এড়িয়ে যাওয়ার অনুমতি দেওয়া যুক্তিসঙ্গত হবে। কিছু উত্তর মোটেই সেই বিধি দ্বারা উপকৃত হয় না।
মিঃ এক্সকোডার

আউটপুটটি সংখ্যার একটি স্ট্রিং প্রতিনিধিত্ব হতে পারে অর্থাত্ মূল স্ট্রিং থেকে একটি স্ট্রিং হিসাবে নেওয়া?
ব্যবহারকারী 2390246

@ ব্যবহারকারী 2390246 হ্যাঁ, এটি ঠিক আছে।
ফলটি এসোলং করা

উত্তর:




8

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

1-ইন্ডেক্স।

āηJsk>

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

ব্যাখ্যা

ā        # push range [1 ... len(input)]
 η       # compute prefixes of the range
  J      # join each prefix to a string
   sk    # get index of the input in the list of prefixes
     >   # increment

আমি কি ভুল কিছু করছি? এটি 0কোনও ইনপুটই
শেগি

@Shaggy: আপনি মত এটা করতে হবে এই বা এই একক উদ্ধৃতি ইনপুট অংশ হিসেবে গণনা করে।
Emigna

আহা, 05AB1E এর স্ট্রিং ইনপুটগুলির ট্রিপল কোট করা দরকার?
শেগি

@ শেগি: আপনি যদি ইনপুটটিতে খালি স্ট্রিং বা নিউলাইনগুলি চান তবে হ্যাঁ। অন্যথায় আপনার এটিকে উদ্ধৃত করার দরকার নেই।
Emigna

[NÝJQ#]Nআমার ধারণা ছিল, তবে এটি ভাল কারণ এটি কাজ করে ""
ম্যাজিক অক্টোপাস আরন

7

জাভা 8, 66 59 বাইট

s->{int r=0;for(String c="";!c.equals(s);c+=r++);return r;}

0-ইন্ডেক্স

-7 বাইটস @ পুনপুন 1000 কে ধন্যবাদ ।

আমার অনুভূতি আছে যে কেবল কোনওভাবে ইনপুটটির দৈর্ঘ্য পরীক্ষা করেই এটি সংক্ষিপ্ত করা যায়, যেহেতু আমরা অনুমান করতে পারি যে ইনপুটটি সর্বদা বৈধ। এখনও এটি সন্ধান। এটি নির্ধারণ করতে অক্ষম, এবং জাভাতে সম্ভবত এটির জন্য অনেকগুলি বাইট ব্যয় করতে হবে (একইভাবে 1-ইনডেক্সড ইনপুটটির শেষের একটি স্ট্রিং ফেরত প্রযোজ্য)।

ব্যাখ্যা:

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

s->{                 // Method with String parameter and integer return-type
  int r=0;           //  Result-integer
  for(String c="";   //  Check-String
      !c.equals(s);  //  Loop as long as the sum-String doesn't equal the input-String
    c+=r++           //   Append the number to the the Check-String,
                     //   and increase the Result-integer by 1
  );                 //  End of loop
  return r;          //  Return the result-integer
}                    // End of method


প্রয়োজনীয় সাবস্ট্রিংয়ের দৈর্ঘ্য পেতে দৈর্ঘ্যের লগারিদম ব্যবহার করার মতো কিছু অযৌক্তিক শর্টকাট সম্ভবত রয়েছে ... এর জন্য আমার কেবল খারাপ ধারণা আছে বলে মনে হয়।
জলি জোকার 21'17

6

ব্র্যাচল্যাগ , 9 7 বাইট

⟦kṫᵐc,Ẹ

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

0-ইন্ডেক্স।

ব্যাখ্যা

এখানে আমরা আউটপুট ভেরিয়েবলের মাধ্যমে ইনপুটটি পাস করব এবং ফলাফলটি ইনপুট ভেরিয়েবলের মাধ্যমে অ্যাক্সেস করব।

⟦          The result is the input to a range…
 k         …with the last element removed…
  ṫᵐ       …which when all elements are casted to string…
    c      …and are then concatenated results in the input string
     ,Ẹ    (Append the empty string, this is necessary for it to work in the case where the 
             input is the empty string)


5

জাপট , 8 বাইট

জাপটে ফাংশন পদ্ধতি নিয়ে গ্রিপ পেতে শুরু করা।

0-ইন্ডেক্স। স্ট্রিং, একটি পূর্ণসংখ্যা বা 0 বা 1 উপাদান যুক্ত অ্যারে হিসাবে ইনপুট নিতে পারে।

_o ´U}a

এটা পরীক্ষা করো


ব্যাখ্যা

স্ট্রিং এর অন্তর্নিহিত ইনপুট U

_     }a

প্রথম পূর্ণসংখ্যা পান যা >=0কোনও ফাংশন দিয়ে যাওয়ার সময় সত্যটি ফিরে আসে ...

o

0বর্তমান পূর্ণসংখ্যার চেয়ে 1 থেকে কম পর্যন্ত পূর্ণসংখ্যার অ্যারে তৈরি করে ...

¬

এটি একটি স্ট্রিংয়ে যোগদান করে ...

¥U

এর সাথে সাম্যের জন্য স্ট্রিংটি পরীক্ষা করে U

ফলাফল পূর্ণসংখ্যার অন্তর্নিহিত আউটপুট।


বিকল্প, 8 বাইট

ÊÇo ¬ÃbU

এটা পরীক্ষা করো


4

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

I⌕E⁺ψθ⪫EκIλωθ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

          λ     Inner map variable (μ inner map index also works)
         I      Cast to string
        κ       Outer map index
       E        Map over implicit range
      ⪫    ω    Join result
     θ          Input string
   ⁺ψ           Plus an extra character
  E             Map over each character
 ⌕          θ   Find the index of the original string
I               Cast from integer to string
                Implicit print

4

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

f s=[n|n<-[0..],(show=<<[0..n])>s]!!0

ফাংশন যা শূন্য-ভিত্তিক ব্যাপ্তিগুলিকে বিপরীত করে।

লাইকোনি 3 বাইট সংরক্ষণ করার জন্য ধন্যবাদ!

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


1
37 একটি তালিকা ধী সঙ্গে বাইট: f s=[n|n<-[0..],(show=<<[0..n])>s]!!0
লাইকনি

1
এবং শুধু এটা উল্লেখ করার জন্য, আপনাকে দ্বিতীয় প্যাটার্ন পাহারা ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন: |m<-n+1=s!m
লাইকনি


2

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

চ্যালেঞ্জার 5 এর জন্য 1 বাইট সংরক্ষণ করা হয়েছে

f=(s,r=n='')=>r<s?f(s,r+n++):+n

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


1
আবার, আপনি অভিধানগুলি স্ট্রিকসকে তুলনামূলকভাবে তুলনা করতে পারেন?
ফল ফলবান

আমি কারি করার পরামর্শ দিচ্ছিলাম তবে দেখে মনে হচ্ছে এটি আর
শেগি


1
@ এরিকথ আউটগল্ফার স্ট্যান্ডার্ড কারীং ঠিক আছে, তবে শেগি এই বিশেষ কার্চিংয়ের কথা উল্লেখ করছিলেন যার জন্য কলগুলি যেমন f(payload_param)()বা এমনকি প্রয়োজন ছিল f(payload_param)(some_constant)। (ঘটনাক্রমে, আমি নিশ্চিত নই যে এটি এই বিশেষ ক্ষেত্রে কাজ করবে কারণ আমার উভয়ই প্রয়োজন rএবং nআরম্ভ করা উচিত।)
আর্নাউল্ড

2

গণিত, 46 বাইট

Array[""<>ToString/@Range@#&,2^15]~Position~#&

1-ইন্ডেক্স

ইনপুট

[ "12345678910"]


2

রুবি , 51 50 46 বাইট

->n{(0..4e4).map{|x|(1..x).to_a.join}.index n}

(এটি আমার প্রথম রুবি প্রোগ্রাম তাই এটি আরও গল্ফ করা সহজ হতে হবে)

-নাইটে ধন্যবাদ 4 বাইট


1
আপনার প্রথম বন্ধনীর শেষ সেটটি দরকার নেই: .index(gets)=> .index gets। আপনি এর 4e4পরিবর্তে ব্যবহার করতে পারেন 8**5, যদিও এটি এটি আরও ধীরে চালিত করবে। এটি সাধারণত ঠিক আছে, এবং প্রায়শই রুবির উত্তরের জন্য বেনামে ল্যাম্বডাস ব্যবহার করার জন্য কয়েকটি বাইট সংরক্ষণ করে: অনলাইনে চেষ্টা করে দেখুন! (আমি সীমাটি 100 এ পরিবর্তিত করেছিলাম যাতে এটির সময়সীমা শেষ না হয়
N

2

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

f=lambda s,i=1,r='':r<s and-~f(s,i+1,r+`i`)

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


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

f=lambda s,i=1:s>''and-~f(s[len(`i`):],i+1)

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


পাইথন , 46 বাইট

lambda s:s[-sum(i*'0'in s for i in range(5)):]

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

একটি ভিন্ন কৌশল। 0S এর বৃহত্তম রানের দৈর্ঘ্যের সমান প্রান্ত থেকে বেশ কয়েকটি অক্ষর নিয়ে থাকে ।


পাইথন , 46 বাইট

f=lambda s,c=0:c*'0'in s and f(s,c+1)or s[-c:]

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

উপরের পুনরাবৃত্তি সংস্করণ।


আপনার "ভিন্ন কৌশল" (খুব চালাক, বিটিডাব্লু) চ্যালেঞ্জের বিবৃতিতে প্রয়োজনীয় হিসাবে 0-ভিত্তিক রেঞ্জের জন্য কাজ করে? আপনার কি ভিতরের বিটটি পরিবর্তন করা উচিত ... i*'0'in s[1:] for ...বা এর মতো কিছু?
লুকা সিটি

@ লুকাসিটি এটি 1-ভিত্তিক রেঞ্জের জন্য কাজ করে এবং চ্যালেঞ্জটি আমাদের চয়ন করতে দেয়।
xnor

অবশ্যই, আপনি ঠিক বলেছেন। আমি কেবলমাত্র প্রাথমিক বিবরণটি দেখেছি এবং সেই অংশটি মিস করেছি যেখানে এটি 1-ভিত্তিক রেঞ্জগুলির জন্য অনুমতি দেয়।
লুকা সিটি

2

আর , 47 বাইট

n=nchar(scan(,""));which(cumsum(nchar(1:n))==n)

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

1-ইন্ডেক্স


3
ব্যবহারের "if"পরিবর্তেifelse
: Giuseppe

ভাল যুক্তি! তবে ওপি 0 টি মামলা মোকাবেলার প্রয়োজনীয়তা এখন সরিয়ে নিয়েছে, তাই আমি সেই বিটটি পুরোপুরি থেকে মুক্তি দিতে পারি ...
ব্যবহারকারীর 2390246

1
আপনি সংখ্যার হিসাবে ইনপুট নিতে পারেন, ncharআপনি সংখ্যার উপর যেমন আশা করতে পারেন তেমন কাজ করে। যাইহোক, আপনার আউটপুট মুদ্রণ পরিচালনা করতে হবে, কারণ এটি যখন পুরো প্রোগ্রাম হিসাবে চালিত হয় না।
জেএডি

1
n=nchar(scan());cat(which(cumsum(nchar(1:n))==n))
জেএডি

2

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

-6 বাইট এনএনজি ধন্যবাদ ।

{,\⍕¨⍳≢⍵}⍳⊂

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

⍳⊂ এটি ɩ সমগ্র যুক্তির ndex

{} এই বেনাম কর্মের ফলাফল:

 যুক্তির দৈর্ঘ্য

until n ততক্ষণ পর্যন্ত te

⍕¨ বিন্যাস (স্ট্রিংফাই) প্রতিটি

,\ যারা একত্রিত


ওহ, আমি ভুলে গিয়েছিলাম আমি কেবল দৈর্ঘ্যের বাইরে যেতে পারি, দুর্দান্ত কাজ।
জাকারি

{,\⍕¨⍳≢⍵}⍳⊂(১১ টি চর)
এনজিএন

আমাকে অবশ্যই!
অ্যাডাম

2

পার্ল 5 , 19 বাইট

18 বাইট কোড +1 এর জন্য -p

$i++while s/$i\B//

1-ভিত্তিক সূচক ব্যবহার করে। -7 ধন্যবাদ বাইট @ nwellnhof 's অনেক ভাল পদ্ধতির!

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

ব্যাখ্যা

$\printপ্রতিটি বিবৃতির পরে স্বয়ংক্রিয়ভাবে এড হয় এমন একটি বিশেষ পরিবর্তনশীল , তাই এটির সাহায্যে আমাদের নম্বর সংরক্ষণ করতে আমাদের পছন্দসই আউটপুট ধারণ করতে আপডেট করার প্রয়োজন নেই $_(যা -pপতাকাটির কার্যকারিতার অংশ হিসাবে স্বয়ংক্রিয়ভাবে মুদ্রিত হয় )। তারপরে, ইনপুটটি শুরু হয়ে গেলে $\, এটিকে এবং redoপ্রোগ্রামটি সরিয়ে ফেলুন , যা আবার এটি বৃদ্ধি করে $\এবং প্রতিস্থাপন করে। স্ট্রিংয়ের শুরুতে যখন এটি আর নম্বরটি খুঁজে না পায়, আমরা শেষ করে দিয়েছি! অবশেষে, হ্রাস $\তাই আমাদের পরিসীমা সর্বশেষ সংখ্যা আছে।


$i++while s/$i\B//(18 + 1 বাইট) সম্পর্কে কী ?
nwellnhof

@ ননহ্নহফ এটি আরও ভাল! আমি মনে করি আমি প্রথমে 0 টি সূচকযুক্ত উত্তরটি তৈরি করার সাথে সাথে আমি আরও জটিল রুটটি শুরু করেছি ... ধন্যবাদ!
ডম হেস্টিংস




1

পার্ল 6 ,  30 28  27 বাইট

{first :k,*eq$_,[\~] '',0...*}

এটা পরীক্ষা করো

{[\~]('',0...*).first($_):k}

এটা পরীক্ষা করো

{first :k,$_,[\~] '',0...*}

এটা পরীক্ষা করো

সম্প্রসারিত:

{  # bare block lambda with implicit parameter 「$_」

  first       # find the first one
  :k,         # return the index into the Seq instead of what matched
  $_          # that matches the input

  # from the following

  [\~]        # triangle reduce using &infix:«~» (string concatenation)

              # a Seq
    '',       #   that starts with an empty Str
    0         #   then a 0
    ...       #   generate values
    *         #   indefinitely
}

'',0...*মান অসীম অনুক্রম উত্পাদন করে '', 0, 1, 2, 3...

[\~] '',0...* সমস্ত সম্ভাব্য ইনপুটগুলির একটি অসীম ক্রম উত্পাদন করে

""
"0"
"01"
"012"
"0123"
...

মনে রাখবেন যে এই কোডটি কোনও অবৈধ ইনপুট দিলে কখনও থামবে না।


1

পাইথ , 11 10 বাইট

1-ইন্ডেক্স।

fqQ|jkSTk0

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

যদি খালি স্ট্রিং এড়ানো যায় তবে এটি 6 টি বাইটে সংক্ষিপ্ত করা যেতে পারে :

fqQjkS

-১ বাইট @ স্মৃতিচারণকে ধন্যবাদ


?QfqQjkUT)1এটি 11-এও করতে পারে তবে আমার মনে হয় যে কিছু বেনামে বাইট বন্ধ করে দেওয়া যায় can কোন ধারনা?
ডেভ

jkS`m এর পরিবর্তে আপনি একটি বাইট সংরক্ষণ করতে পারেন ।

1

সিজেম, 14 12 11 বাইট

q,_){,s,}%#

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

q,   e# Get length of input string
_)   e# Duplicate length, increment by 1
{    e# Generate array by mapping [0,1,2,...,length] using the following function: 
,    e# Generate range [0,x] (x is the int we're mapping)
s    e# Convert range to string (e.g [0,1,2,3] => "0123"
,    e# Get the length of that string
}%   e# Map the int to the length of it's range string
#    e# Return the index of the length of the input string in the generated array

1

ডাইভিল , 42 38 বাইট

s=>"".{var r=0;while($0!=s)$0++=r++;r}

এই জাভা উত্তর হিসাবে একই অ্যালগরিদম , এটি ছাড়া (আব) ডাইভিলের সিনট্যাকটিক বৈশিষ্ট্যগুলি ব্যবহার করে।

ব্যাখ্যা:

s=>          // starts a lambda expression with one parameter
"".{         // begins a brace access expression, the value before the '.'
             // is available within the braces as a variable named '$0'
var r=0;     // variable with inferred type int
while($0!=s) // while the accumulator $0 does not (structurally) equal s
$0++=r++     // concatenate $0 and the String representation of r,
             // then store the result in $0 and increment r by 1
;            // end of while
r}           // return r as the result of the lambda

  • সংরক্ষিত 4সঁচায়ক জন্য একটি পরিবর্তনশীল পরিবর্তে একটি বক্রবন্ধনী এক্সেস অভিব্যক্তি ব্যবহার করে বাইট

দুর্দান্ত ভাষা !!
রবার্ট ফ্রেজার

0

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

`@q:VXzGX=~}@q

1-ইন্ডেক্স।

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

ব্যাখ্যা

`       % Do...while
  @     %   Push iteration index (1-based), k
  q     %   Subtract 1: gives k-1
  :     %   Range: [1 2 ... k-1]. Will be empty for k=1
  V     %   Convert to string
  Xz    %   Remove spaces
  G     %   Push input
  X=    %   Are the two strings equal?
  ~     %   Negate. This is the loop condition. If true: next iteration
}       % Finally (execute at the end of the loop)
  @     %   Push k
  q     %   Subtract 1: gives k-1. This is the solution
        % End (implicit). Display (implicit)

1
দাঁড়াও, কাঠকয়াল এমএটিএলকে মারবে?
নীল

0

সি # , 72 বাইট


উপাত্ত

  • ইনপুট String i ইন্টি অ্যারেটি ডিক্রিফার্ড হতে হবে
  • আউটপুট Int32 অ্যারে তৈরি করতে ব্যবহৃত নম্বর

Golfed

(string i)=>{int c,p=c=0;for(;p<i.Length;c++)p+=(c+"").Length;return c;}

Ungolfed

( string i ) => {
    int
        c,
        p = c = 0;

    for( ; p < i.Length; c++ )
        p += ( c + "" ).Length;

    return c;
}

অসম্পূর্ণ পাঠযোগ্য

// Takes the string with the int array
( string i ) => {
    int
        c,         // Counter, it will count how many ints the array has.
        p = c = 0; // Padding, it will help jumping from int to int on the string.

    // Start counting. If 'i' is empty, the 'c' will be 0.
    for( ; p < i.Length; c++ )

        // Increase the number of digits with the length of 'c'.
        p += ( c + "" ).Length;

    // Return the counter.
    return c;
}

সম্পূর্ণ কোড

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TestBench {
    public static class Program {
        private static Func<String, Int32> f = ( string i ) => {
            int
                c,
                p = c = 0;

            for( ; p < i.Length; c++ )
                p += ( c + "" ).Length;

            return c;
        };

        static void Main( string[] args ) {
            List<String>
                testCases = new List<String>() {
                    "0123",
                    "0",
                    "",
                    "0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100",
                };

            foreach(String testCase in testCases) {
                Console.WriteLine($" Input: {testCase}\nOutput: {f(testCase)}\n");
            }

            Console.ReadLine();
        }
    }
}

রিলিজ

  • v1.0 - 72 bytes- প্রাথমিক সমাধান।

নোট

  • না

1
i=>{int c,p=c=0;for(;p<i.Length;)p+=(c+++"").Length;return c;}62 বাইট
TheLethalCoder

0

এসওজিএল ভি0.12 , 11 10 9 বাইট

1-ইন্ডেক্স।

I∫HΔ∑=?f←

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

ব্যাখ্যা:

I∫         repeat input+1 times
  HΔ         create a range from 1 to the 0-indexed iteration, inclusive
    ∑        join it
     =?      if it's equal to the input
       f←      exit, pushing the 0-indexed counter

.. বা 7 বাইট খালি কেস ছাড়াই

∫Δ∑=?F←

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


0

অ্যাসেটো , 27 25 বাইট

1-ভিত্তিক সূচক।

;L[¥
`=]z
MLdI<
r!`;   p

আমরা rইনপুটটি Mসজ্জিত করি এবং এটি ইমোরিজ করি (এবং সরাসরি Lএটি আরও শিখিয়ে তুলি), তারপরে আমরা এটিকে প্রত্যাখ্যান করি ( !; কেবল একটি খালি স্ট্রিংয়ের জন্য সত্যবাদী মানের দিকে নিয়ে যাওয়া)। যদি এই মানটি সত্যবাদী হয় ( `) হয়, তবে আমরা শেষ ( ;) এ চলে যাই, যেখানে আমরা pঅন্তর্নিহিত শূন্যটি ছাঁটাই করি ।

অন্যথায়, আমরা বর্তমান স্ট্যাকের মান বাড়িয়ে তুলি (শুরুতে একটি শূন্য), এটি সদৃশ করব এবং একটি কপি ডানদিকে রেখেছি, সেখানেও যাওয়ার সময় ( Id])। তারপরে আমরা একটি হ্রাসমান পরিসীমা ( z) তৈরি করি, স্ট্রিংকে স্ট্রিং ( ¥) হিসাবে যোগদান করি এবং মানটিকে (এবং আমাদের) আবার মূল স্ট্যাকের দিকে নিয়ে যাই ( [)। আমরা Lপূর্বে মুখস্থ করা মানটি ইনপুট করি (ইনপুট) এবং এই স্ট্রিংটির সাথে এটি তুলনা করি। সমান হলে, আমরা আবার প্রান্তে চলে যাই, যেখানে আমরা বর্তমান "কাউন্টার" মান ( =`;) মুদ্রণ করি ।

অন্যথায়, হিলবার্ট কার্ভ অবশেষে হিট না করা অবধি প্রচুর খালি জায়গা অতিক্রম করা হয় <যা Iকাউন্টারের বৃদ্ধি করে আবার পরীক্ষা করে।



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