নতুন নেবার সিকোয়েন্স


24

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

তারা নিম্নলিখিত আলগোরিদিম নিয়ে আসে:

  • প্রথম উপাদানটি 0 হয়।
  • উপাদান সবচেয়ে ছোট সংখ্যা যা এখনো ক্রমানুসারে উপস্থিত নেই এবং যার প্রতিবেশী নয় উপাদান।এনটি(এন-1)টি

এটি নিম্নলিখিত অসীম ক্রম উত্পন্ন করে:

0,2,4,1,3,5,7,9,6,8,10,12,14,11,13,15,17,19,16,18,20,22,24,21,23,25,27,29,26,28 ...

0প্রথম উপাদান। 1সিক্যুয়েনে এখনও স্বল্পতম সংখ্যাটি নয়, তবে এটি একটি প্রতিবেশী 0। পরবর্তী ক্ষুদ্রতম সংখ্যাটি 2, তাই এটি ক্রমের দ্বিতীয় উপাদান। এখন বাকি সংখ্যাগুলি 1,3,4,5,6,..., তবে উভয় হিসাবে 1এবং 3এর প্রতিবেশী হিসাবে 2, 4ক্রমের তৃতীয় সদস্য। যেমনটি 1প্রতিবেশী নয় 4, অবশেষে এটি চতুর্থ উপাদান হিসাবে স্থান নিতে পারে place

কাজটি

যথাসম্ভব কয়েকটি বাইটে একটি ফাংশন বা প্রোগ্রাম লিখুন যা উপরের ক্রমটি উত্পন্ন করে।

আপনি পারে

  • ক্রম অসীম আউটপুট,
  • একটি ইনপুট এবং অনুক্রমের উপাদানটি ফেরত দিন বাএনএনটি
  • একটি ইনপুট এবং ক্রমের প্রথম উপাদানগুলি ফেরত দিন ।এনএন

দুটি পরের বিকল্পগুলির মধ্যে একটি বেছে নিলে শূন্য বা এক-সূচক উভয়ই ঠিক।

আপনাকে উপরে বর্ণিত অ্যালগরিদম অনুসরণ করার দরকার নেই, যে পদ্ধতিটি একই ক্রম উত্পাদন করে তা ঠিক।


কোড গল্ফ দ্বারা অনুপ্রাণিত সেরা পারমিটেশন । এটি A277618 এ দেখা যাচ্ছে ।
* জিরোটির আক্ষরিক অর্থে কেবল এক প্রতিবেশী আছে এবং সত্যই যত্ন করে না।


উত্তর:


18

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

ফেরত পাঠায় ক্রম পরিভাষা।এন

n=>n-2-~++n%5

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

কিভাবে?

এই গণনাগুলি:

এন-2+ +((এন+ +2)গেলিক ভাষার5)

           n |  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 ...
-------------+--------------------------------------------------
       n - 2 | -2 -1  0  1  2  3  4  5  6  7  8  9 10 11 12 ...
 (n+2) mod 5 |  2  3  4  0  1  2  3  4  0  1  2  3  4  0  1 ...
-------------+--------------------------------------------------
         sum |  0  2  4  1  3  5  7  9  6  8 10 12 14 11 13 ...







3

পিপ , 14 বাইট

02413@a+a//5*5

কমান্ড-লাইন আর্গুমেন্ট হিসাবে (0-ভিত্তিক) নেয় এবং আউটপুট দেয় । এটি অনলাইন চেষ্টা করুন!এনএকটিএন

দেখুন যে । আমরা প্রথম পাঁচটি মানকে হার্ড-কোড করি এবং সেখান থেকে অফসেট করি।একটিএন+ +5=একটিএন+ +5


বা, 12 টি বাইটের জন্য প্রত্যেকের ব্যবহার করা সূত্র :

a-2+(a+2)%5

2

কমন লিস্প , 67 বাইট

(defun x(n)(loop for a from 0 to n collect(+(mod(+ a 2)5)(- a 2))))

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


আমি মনে করি ন্যায়সঙ্গত (defun x(n)(+(mod(+ n 2)5)(- n 2)))বা (lambda(n)(+(mod(+ n 2)5)(- n 2)))যথেষ্ট: শর্তাবলীর পরিবর্তে এন-তম শব্দটি ফেরত returning
মিশা লাভরভ

2

জাপট , 8 বাইট

U-2Ò°U%5

জাপট ইন্টারপ্রেটার

আর্নল্ডের জাভাস্ক্রিপ্ট উত্তরের একটি সোজা বন্দর। লিঙ্কযুক্ত সংস্করণটি প্রথম এন উপাদানগুলির মধ্য দিয়ে চলে তবে -mপতাকাটি সরানো থাকলে এটি এখনও বৈধ এবং পরিবর্তে নবম উপাদানটি মুদ্রণ করে।

তুলনার স্বার্থে, এখানে নিখুঁত সংস্করণ যা প্রশ্নটিতে সরবরাহিত অ্যালগরিদম প্রয়োগ করে:

@_aX É«NøZ}a}gNhT

আমি এটির জন্য একটি ব্যাখ্যা দেব:

              NhT    Set N to [0]
@           }g       Get the nth element of N by filling each index with:
 _        }a          The first integer that satisfies:
  aX É                 It is not a neighbor to the previous element
      «NøZ             And it is not already in N

আপনার দ্বিতীয় সমাধান -3 বাইট , এবং সম্ভবত আরও উন্নতি করা যেতে পারে।
শেগি

2

05 এ বি 1 ই , 5 বাইট

Ì5%+Í

@ জোকিংয়ের ম্যাথগল্ফ উত্তরটির পোর্ট ।

এটি অনলাইনে চেষ্টা করুন বা প্রথম 100 নম্বর যাচাই করুন

ব্যাখ্যা:

Ì        # Increase the (implicit) input by 2
 5%      # Take modulo-5
   +     # Add the (implicit) input to it
    Í    # Decrease by 2 (and output implicitly)

2

পরিষ্কার , 31 বাইট

সূত্রটি সবাই ব্যবহার করছে।

import StdEnv
?n=n-2+(n+2)rem 5

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

পরিষ্কার , 80 বাইট

আমার প্রাথমিক পদ্ধতির, প্রথম nআইটেম ফিরে ।

import StdEnv
$n=iter n(\l=l++[hd[i\\i<-[0..]|all((<>)i)l&&abs(i-last l)>1]])[0]

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



2

জে , 30 বাইট

{.2}.[:,_5,./\2(i.-4 0$~])@,~]

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

প্রথম nসংখ্যাগুলির একটি তালিকা প্রদান করে

এই সমাধানটি স্পষ্টতই অ-প্রতিযোগিতামূলক, তবে আমি একটি অ্যারে-ভিত্তিক পদ্ধতি চেষ্টা করতে চেয়েছিলাম।

ব্যাখ্যা:

যুক্তিটি হ'ল n

2 ,] - ইনপুট 2 যোগ করুন

   (2,~]) 10
10 2

()@ - এবং এই তালিকাটি ব্যবহার করুন:

i.- n0..2n-1 রেঞ্জের সংখ্যার সাথে একটি ম্যাট্রিক্স x 2 তৈরি করুন :

   i.10 2
 0  1
 2  3
 4  5
 6  7
 8  9
10 11
12 13
14 15
16 17
18 19

4 0$~]- ~আর্গুমেন্টগুলি বিপরীত করে, তাই এটি] $ 4 0 - n4 0 পুনরাবৃত্তি করে ম্যাট্রিক্স x 2 তৈরি করে

   4 0$~10 2
4 0
4 0
4 0
4 0
4 0
4 0
4 0
4 0
4 0
4 0

- প্রথম ম্যাট্রিক্সটি প্রথমটি থেকে বিয়োগ করুন, যাতে প্রথম কলামটি 2 পজিশন সহ "বিলম্বিত" হয়

   2(i.-4 0$~])@,~] 10
_4  1
_2  3
 0  5
 2  7
 4  9
 6 11
 8 13
10 15
12 17
14 19

_5,./\ 5 টি সারির নন-ওভারল্যাপিং গ্রুপগুলিতে ম্যাট্রিক্সটি অতিক্রম করুন এবং কলামগুলি সেলাই করুন

   _5,./\2(i.-4 0$~])@,~] 10
_4 _2  0  2  4
 1  3  5  7  9

 6  8 10 12 14
11 13 15 17 19

[:, পুরো অ্যারে টানুন

   ,_5,./\2(i.-4 0$~])@,~] 10
_4 _2 0 2 4 1 3 5 7 9 6 8 10 12 14 11 13 15 17 19

2}. - প্রথম 2 নম্বর ছেড়ে দিন

   2}.,_5,./\2(i.-4 0$~])@,~] 10
0 2 4 1 3 5 7 9 6 8 10 12 14 11 13 15 17 19

{.প্রথম nসংখ্যা নিন

   ({.2}.[:,_5,./\2(i.-4 0$~])@,~]) 10
0 2 4 1 3 5 7 9 6 8

জে , 9 বাইট

+_2+5|2+]

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

ফেরত পাঠায় nতম উপাদান।

Arnauld এর উত্তর বন্দর




1

x86 মেশিন কোড, 16 বাইট

00000000: 31d2 89c8 4949 4040 b305 f7f3 9201 c8c3 1...II@@........

এসেম্বলি:

section .text
	global func
func:	;function uses fastcall conventions, 1st arg in ecx, returns in eax
	;reset edx to 0 so division works
	xor edx, edx

	mov eax, ecx
	;calculate ecx (1st func arg) - 2
	dec ecx
	dec ecx

	;calculate (ecx+2) mod 5
	inc eax
	inc eax
	mov bl, 5
	div ebx
	xchg eax, edx
	
	;add (ecx-2) and ((ecx+2) mod 5), returning in eax
	add eax, ecx
	ret

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



1

এক্সেল, 17 বাইট

=A1-2+MOD(A1+2,5)

স্মার্ট কিছুই না। সাধারণ সূত্র কার্যকর করে।



1

কিউবাসিক, 30 বাইট

INPUT x 
x=x+2 
?-4+x*2-(x\5)*5

পোস্টে তালিকার 0-সূচিযুক্ত এন্ট্রি দেয় x

এটি অনলাইন চেষ্টা করুন! (নোটটি এতে ?প্রসারিত হয়েছিল PRINTকারণ দোভাষী অন্যথায় ব্যর্থ হন ...)



1

আর , 25 বাইট

n=1:scan()-1;n-2+(n+2)%%5

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

রবার্ট এস এর উত্তরের পোর্ট (এবং কেবল মাত্র 4 বাইট যুক্ত করে) ভেক্টর পরিচালনা করার ক্ষেত্রে দুর্দান্ত হওয়ার জন্য ধন্যবাদ।

প্রথম এন মানগুলি আউটপুট করে।



0

টিআই-বেসিক, 11 বাইট

Ans-2+remainder(Ans+2,5

Ans
একটি(এন)

অন্যান্য উত্তরের একটি সহজ বন্দর।


দ্রষ্টব্য: টিআই-বেসিক একটি টোকেনাইজড ভাষা। অক্ষর গণনা বাইট গণনা সমান হয় না

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