জাম্পিং নম্বর


12

একটি জাম্পিং সংখ্যাটিকে ধনাত্মক সংখ্যা এন হিসাবে সংজ্ঞায়িত করা হয় যা একটানা দশমিক অঙ্কের সমস্ত জোড়া 1 দ্বারা পৃথক হয় Also এছাড়াও, সমস্ত একক অঙ্কের সংখ্যা জাম্পিং সংখ্যা হিসাবে বিবেচিত হয়। যেমন। 3, 45676, 212 সংখ্যাটি জাম্পিং করছে তবে 414 এবং 13 টি নয়। 9 এবং 0 এর মধ্যে পার্থক্যটিকে 1 হিসাবে বিবেচনা করা হয় না

চ্যালেঞ্জটি এমন একটি প্রোগ্রাম তৈরি করুন যা নিম্নলিখিত ফলাফলগুলির মধ্যে একটি ফলাফল দেয়:

  • একটি ইনপুট nআউটপুট প্রথম nজাম্পিং নম্বর দিয়েছে।
  • একটি ইনপুট nআউটপুট অনুক্রমের nতম পদ দেওয়া হয়েছে ।

বিঃদ্রঃ

  • যে কোনও বৈধ আই / ও ফর্ম্যাট অনুমোদিত
  • 1-সূচক বা 0-সূচক অনুমোদিত (দয়া করে নির্দিষ্ট করুন)

এখানে কিছু জাম্পিং নম্বর রয়েছে:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98, 101, 121, 123, 210, 212, 232, 234, 321, 323, 343, 345, 432, 434, 454, 456, 543, 545, 565, 567, 654, 656, 676, 678, 765, 767, 787, 789, 876, ...

এটিও A033075


এটি কি 0 বা 1 সূচকযুক্ত?
টেলর স্কট

1
নিবন্ধটি কেবলমাত্র ইতিবাচক সংখ্যায় রয়েছে। আপনি যদি ইনপুটটি বোঝাতে চান nতবে এটি আপনার উপর নির্ভর করে ।
লুইস ফিলিপ দে জেসুস মুনোজ

আমি অনুমান করছি "যে কোনও বৈধ আই / ও ফর্ম্যাট অনুমোদিত?" এর মধ্যে দশমিক অঙ্কের তালিকা হিসাবে সংখ্যাগুলি আউটপুট করা অন্তর্ভুক্ত তবে কেবল নিশ্চিত করতে চেয়েছিলেন -?
জোনাথন অ্যালান

হ্যাঁ @ জনাথন অ্যালান
লুইস ফেলিপ দে জেসুস মুনোজ

উত্তর:



6

জেলি , 8 বাইট

1DI*`ƑƊ#

nSTDIN থেকে পূর্ণসংখ্যা গ্রহণকারী একটি সম্পূর্ণ প্রোগ্রাম যা প্রথম nধনাত্মক জাম্পিং সংখ্যার একটি তালিকা মুদ্রণ করে ।

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

কিভাবে?

অঙ্কগুলির মধ্যে গ্রহণযোগ্য বর্ধনশীল পার্থক্যগুলি 1এবং -1অন্যগুলি যখন [-9,-2]+[2,9]না হয়। এই পূর্ণসংখ্যার সাথে লাইনগুলি যা নিজের কাছে উত্থাপিত হওয়ার সময় আক্রমণাত্মক হয়। যেমন এক্সএক্স=এক্স থেকে:

00=1
11=1
22=4
-1-1=-1
-2-2=-14

1DI*`ƑƊ# - Main Link: no arguments (accepts a line of input from STDIN)
       # - count up keeping the first (input) n matches...
1        - ...start with n equal to: 1
      Ɗ  - ...match function: last three links as a monad:  e.g. 245       777      7656
 D       -   convert to a list of decimal digits                 [2,4,5]   [7,7,7]  [7,6,5,6]
  I      -   incremental differences                             [2,1]     [0,0]    [-1,-1,1]
     Ƒ   -   invariant under?:
    `    -     using left argument as both inputs of:
   *     -       exponentiation (vectorises)                     [4,1]     [1,1]    [-1,-1,1]
         -                                            --so we:   discard   discard  keep
         - implicitly print the list of collected values of n

6

05 এ বি 1 ই (উত্তরাধিকার) , 5 বাইট

ইনপুটটি 1-সূচকযুক্ত।

কোড:

µN¥ÄP

05AB1E এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


ব্যাখ্যা

µ          # Get the nth number, starting from 0, such that...
   Ä       #   The absolute values
 N¥        #   Of the delta's of N
    P      #   Are all 1 (product function, basically acts as a reduce by AND)

কাজের জন্য সঠিক সরঞ্জাম।
lirtosiast

5

পাইথন 2 , 79 75 বাইট

Xnor দ্বারা -4 বাইট

f=lambda n,i=1:n and-~f(n-g(i),i+1)
g=lambda i:i<10or i%100%11%9==g(i/10)>0

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

চ্যাস ব্রাউন এর উত্তর থেকে প্রাপ্ত । সহায়ক ফাংশনটি জাম্পিং নম্বর g(i)কিনা তা ফেরত দেয় i। যদি কোনও সংখ্যার শেষ দুটি অঙ্কের nপরম পার্থক্য 1 থাকে, তবে n%100%11এটি 1 বা 10 n%100%11%9হবে , সুতরাং 1 হবে।


সঙ্গে দুর্দান্ত কৌশল %11। আপনি f=lambda n,i=1:n and-~f(n-g(i),i+1)যদি এক-সূচকে স্যুইচ করেন তবে আপনি এটি করতে পারেন।
xnor

4

এপিএল (ডায়ালগ ইউনিকোড) , 36 বাইট এসবিসিএস

1-ইন্ডেক্স। এটি গল্ফ করার জন্য তাদের সহায়তার জন্য ডিজাইমাকে ধন্যবাদ।

সম্পাদনা: এনজিএন থেকে -15 বাইট।

1+⍣{∧/1=|2-/⍎¨⍕⍺}⍣⎕⊢0

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

ব্যাখ্যা

আমাদের রয়েছে f⍣g⍣h, যেখানে অপারেটর হিসাবে , এপিএল এটি অনুবাদ করে (f⍣g)⍣h। ( 2×3+1অনুবাদিত ফাংশনের বিপরীতে 2×(3+1))

1+⍣{...}⍣⎕⊢0  This is equivalent to 
               "do {check} we find the n-th integer that fulfils {check}"

1+⍣{...}   0  Start with 0 and keep adding 1s until the dfn 
               (our jumping number check in {}) returns true.
        ⍣⎕    We take input n (⎕) and repeat (⍣) the above n times 
               to get the n-th jumping number.

{∧/1=|2-/⍎¨⍕⍺}  The dfn that checks for jumping numbers.

         ⍎¨⍕⍺   We take the base-10 digits of our left argument
                 by evaluating each character of the string representation of ⍺.
     |2-/        Then we take the absolute value of the pairwise differences of the digits
 ∧/1=            and check if all of the differences are equal to 1.

10⊥⍣¯1⊢⍺->⍎¨⍕⍺
এনজিএন

এটি পুনরাবৃত্তির পরিবর্তে আরও সংক্ষিপ্ত : {1+⍣{∧/1=|2-/⍎¨⍕⍺}⍣⍵⊢0}অথবা1+⍣{∧/1=|2-/⍎¨⍕⍺}⍣⎕⊢0
এনজিএন

"An একটি অপারেন্ড" - এটি "অপারেটর" (আমি আড্ডায় এই ভুলটি করে সংশোধন করেছি, তবে মনে হয় আপনি প্রাথমিক সংস্করণটি বেছে নিয়েছেন sorry দুঃখিত)
ngn


3

জাপট, 14 বাইট

প্রথম nতম পদের আউটপুট , 1-ইনডেক্সড।

_ì äa dÉ ªU´}f

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

(আমি জানি, আমি জানি, আমার কিছুটা বিরতি নেওয়ার কথা ছিল তবে আমি গল্ফ প্রত্যাহার করছি!)


হাহা, আপনার প্রত্যাহার নিরাময়ের জন্য সম্ভবত একটি নতুন গল্ফ ভাষা শিখুন। : পি
কুইন্টেক

3

পাইথন 2 , 88 87 বাইট

f=lambda n,i=2:n and f(n-g(i),i+1)or~-i
g=lambda i:i<10or abs(i/10%10-i%10)==1==g(i/10)

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

0-সূচকযুক্ত জাম্পিং নম্বর (অর্থাত্, চ (0) => 1 ইত্যাদি) প্রদান করে।


@ লিরিটোসিস্ট: এটি ঠিক আছে, দয়া করে আপনার প্রিয় দাতায় আপনার উত্তরটি দান করুন :)। এটি পৃথক প্রতিক্রিয়ার যোগ্যতার পক্ষে যথেষ্ট আলাদা (পাশাপাশি ক্রস-ল্যাঙ্গুয়েজ উপযুক্ত হওয়াও)।
চ্যাস ব্রাউন

3

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

(filter(all((==1).abs).(zipWith(-)<*>tail).map fromEnum.show)[1..]!!)

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


1
এটি প্রশ্নের উত্তর দিতে দেখা যাচ্ছে "এটি কি জাম্পিং নম্বর?" প্রদত্ত ইনপুট নম্বরটির জন্য, যা চ্যালেঞ্জ চেয়েছিল তা নয়।
জোসেফ সিবল-রিইনস্টেট মনিকা

@ জোসেফসিবল আপনি সঠিক আছেন লক্ষ করার জন্য আপনাকে ধন্যবাদ।
জোনাথন ফ্রেচ

এছাড়াও, এখন এটি স্থির হয়ে গেছে, আপনি gএটি পয়েন্টফ্রি পুনর্লিখন করে 3 বাইট সংক্ষিপ্ত করতে পারেন, তারপরে ব্যবহার করে <*>:g=all((==1).abs).(zipWith(-)<*>tail).map(read.pure).show
জোসেফ সিবল-রিইনস্টেট মনিকা

@ জোসেফসিবল আপনাকে ধন্যবাদ
জোনাথন ফ্রেচ

@ নিমিমি হয়ে গেছে ধন্যবাদ.
জোনাথন ফ্রেচ




1

পাইথন 3 , 122 121 বাইট

g=lambda s:len(s)==1or 1==abs(ord(s[0])-ord(s[1]))and g(s[1:])
def f(n,i=1):
	while n:
		if g(str(i)):n-=1;yield i
		i+=1

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

fমুদ্রণ থেকে কোনও জেনারেটর ফাংশনে পরিবর্তন করে -1 বাইট ।

gএকটি পুনরাবৃত্তকারী সহায়ক ফাংশন যা কোনও স্ট্রিংটি s"জাম্পিং স্ট্রিং" কিনা তা নির্ধারণ করে (0 থেকে 9 এর জন্য অক্ষর কোডগুলি ক্রমযুক্ত এবং সামঞ্জস্যপূর্ণ হওয়ার কারণে এটি কাজ করে)।

fএকটি জেনারেটর ফাংশন যা গ্রহণ করে nএবং প্রথম nজাম্পিং নম্বর দেয়।






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