সর্পিল পেরমুটেশন সিকোয়েন্স


17

আমরা একটি আয়তক্ষেত্রাকার সর্পায় প্রাকৃতিক সংখ্যাগুলি রোল করতে পারি:

 17--16--15--14--13
  |               |
 18   5---4---3  12
  |   |       |   |
 19   6   1---2  11
  |   |           |
 20   7---8---9--10
  |
 21--22--23--24--25

তবে এখন আমাদের এগুলি একটি আয়তক্ষেত্রাকার গ্রিডে থাকা অবস্থায় আমরা সর্পিলটি একটি অন্য ক্রমে আনইন্ডাইন্ড করতে পারি, যেমন ঘড়ির কাঁটার দিকে যেতে, উত্তর শুরু করে:

 17  16--15--14--13
  |   |           |
 18   5   4---3  12
  |   |   |   |   |
 19   6   1   2  11
  |   |       |   |
 20   7---8---9  10
  |               |
 21--22--23--24--25

ফলস্বরূপ ক্রমটি স্পষ্টতই প্রাকৃতিক সংখ্যার অনুমান:

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

আপনার কাজ এই ক্রম গণনা করা হয়। ( OEIS A020703 , তবে স্পয়লার সতর্কতা: এটিতে আরও একটি আকর্ষণীয় সংজ্ঞা এবং কয়েকটি সূত্র রয়েছে যা আপনি নিজেরাই বের করতে চাইতে পারেন))

মজাদার ঘটনা: সমস্ত 8 টি সম্ভাব্য অবাঞ্ছিত আদেশের নিজস্ব OEIS এন্ট্রি রয়েছে।

চ্যালেঞ্জ

ধনাত্মক পূর্ণসংখ্যা দেওয়া n, nউপরের ক্রমের তম উপাদানটি ফিরিয়ে দিন ।

আপনি STDIN (অথবা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে কোনও প্রোগ্রাম বা ফাংশন লিখতে এবং STDOUT (বা নিকটতম বিকল্প), ফাংশন রিটার্ন মান বা ফাংশন (আউট) প্যারামিটারের মাধ্যমে ফলাফল আউটপুট করতে পারেন।

স্ট্যান্ডার্ড বিধি প্রযোজ্য।

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

1       1
2       4
3       3
4       2
5       9
6       8
7       7
8       6
9       5
100     82
111     111
633     669
1000    986
5000    4942
9802    10000
10000   9802

n = 11131 ওইআইএস-এ বি-ফাইল সহ একটি সম্পূর্ণ তালিকার জন্য ।

উত্তর:


6

জেলি, 11 10 বাইট

’ƽð²+ḷ‘Ḥ_

আমার ফোনে আর একটি জেলি উত্তর।

’ƽð²+ḷ‘Ḥ_   A monadic hook:
’ƽ          Helper link. Input: n
’             n-1
 ƽ            Atop integer square root. Call this m.
   ð         Start a new dyadic link. Inputs: m, n
    ²+ḷ‘Ḥ_    Main link:
    ²+ḷ       Square m, add it to itself,
       ‘      and add one.
        Ḥ     Double the result
         _    and subtract n.

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


জেলির সাথে শুরু করার কোনও টিপস? কাঁটা / হুকগুলি কীভাবে পার্স করা যায় তা আমি বলতে পারি না।
লিন

প্রথমে এপিএল বা জে শিখুন। চেইনগুলি ট্রেনের চেয়ে আসলে সহজ কারণ ফাংশনগুলির মধ্যে সমস্তর মধ্যে স্থির শালীনতা রয়েছে।
lirtosiast

আমি দেখি. হ্যাঁ, আমার জে অভিজ্ঞতা আছে। আমি মনে করি আমি পড়তে চেষ্টা করব jelly.pyএবং কোন চেইনগুলি সমর্থন করে তা বের করার চেষ্টা করব ।
লিন

2
আপনি আপনার ফোনে কীভাবে টাইপ করলেন !? এটি কোডের চেয়ে বেশি চিত্তাকর্ষক!
ডিজেএমসিএমহেম

8

জাপট, 20 19 16 বাইট

V=U¬c)²-V *2-U+2

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

যে পর্যবেক্ষণ উপর ভিত্তি করে

এফ (এন) = সিল (এন ^ .5) * (সিল (এন ^ .5) -1) - এন + 2

বা, বরং, যে

এফ (এন) = প্রথম বর্গটি বৃহত্তর N বা এর সমান, এর বর্গমূল বিয়োগ বিয়োগ, আরও 2 হবে।

আমি জানি না যে এই ব্যাখ্যাটি OEIS পৃষ্ঠায় রয়েছে কিনা, কারণ আমি এখনও এটি দেখিনি।


5

জুলিয়া, 28 বাইট

n->2((m=isqrt(n-1))^2+m+1)-n

এটি একটি ল্যাম্বডা ফাংশন যা একটি পূর্ণসংখ্যা গ্রহণ করে এবং পূর্ণসংখ্যা ফেরত দেয়। এটি কল করতে, এটি একটি ভেরিয়েবলের জন্য বরাদ্দ করুন।

আমরা সংজ্ঞায়িত মি যেমন যে পূর্ণসংখ্যা বৃহত্তম হতে মি 2এন এর পূর্ণসংখ্যা বর্গমূল -1, অর্থাত্ এন -1 ( isqrt)। তারপরে আমরা OEIS এক্সপ্রেশনটি 2 ( মি + 1) মি - এন + 2 সরল করে 2 ( মি 2 + মি + 1) - এন করতে পারি

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


4

সিজেম, 14 বাইট

qi_(mQ7Ybb2*\-

অ্যালেক্সের পদ্ধতির ব্যবহার: 2*(m^2+m+1)-nযেখানে m = isqrt(n-1)


2

ES7, 31 28 26 বাইট

n=>(m=--n**.5|0)*++m*2-~-n

আমি অ্যালেক্সের সূত্রটি স্বাধীনভাবে আবিষ্কার করেছিলাম তবে আমি এটি প্রমাণ করতে পারি না কারণ আমি তখন কম্পিউটারের কাছে ছিলাম না।

সম্পাদনা: সংরক্ষিত 3 বাইট আংশিকভাবে @ETH প্রডাকশন ধন্যবাদ আরও 2 বাইট সংরক্ষণ করা হয়েছে।


n=>((m=--n**.5|0)+m*m)*2-n+1কাজ হবে, আমি মনে করি।
ETH প্রোডাকশনগুলি

@ ইথ প্রডাকশন ধন্যবাদ, আমি নিজেই ভাবছিলাম যে --nসেখানে কীভাবে এটি পাওয়া যায় ...
নীল

@ এইচটি প্রডাকশন হে, আমি আপনার উত্তর থেকে 2 বাইট শেভ করতে পেরেছি।
নীল


1

এমএটিএল , 16 13 বাইট

qX^Y[tQ*Q2*G-

লিনের সিজেএম উত্তরের উপর ভিত্তি করে

এটি অনলাইন চেষ্টা করুন! (ভাষার পরিবর্তন অনুসারেY[প্রতিস্থাপন করা হয়েছেk)

q       % input n. Subtract 1
X^      % square root
Y[      % floor
tQ      % duplicate and add 1
*       % multiply
Q       % add 1
2*      % multiply by 2
G-      % subtract n

এটি অন্যান্য উত্তরগুলির চেয়ে আলাদা পদ্ধতির ব্যবহার করে ( 16 বাইট ):

6Y3iQG2\+YLt!G=)

এটি স্পষ্টভাবে দুটি সর্পিল ম্যাট্রিক্স উত্পন্ন করে (আসলে, তাদের উল্লম্বভাবে উল্টানো সংস্করণ, তবে এটি আউটপুটকে প্রভাবিত করে না)। প্রথম এক

17    16    15    14    13
18     5     4     3    12
19     6     1     2    11
20     7     8     9    10
21    22    23    24    25

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

25    10    11    12    13
24     9     2     3    14
23     8     1     4    15
22     7     6     5    16
21    20    19    18    17

জন্য nক্রম সেটা খুঁজে পেতে যথেষ্ট এর -th সংখ্যা nদ্বিতীয় ম্যাট্রিক্স এবং প্রথম সঙ্গতিপূর্ণ সংখ্যা বাছাই। ম্যাট্রিকগুলি যথেষ্ট বড় হওয়া দরকার যাতে এটি nপ্রদর্শিত হয় এবং বিজোড় আকারের হওয়া উচিত যাতে মূল (সংখ্যা 1) উভয় ক্ষেত্রে একই অবস্থানে থাকে।

অনলাইনেও চেষ্টা করে দেখুন ! (6Y3ভাষার পরিবর্তন অনুসারে সরানো হয়েছে)

6Y3      % 'spiral' string
i        % input n
QG2\+    % round up to an odd number large enough
YL       % generate spiral matrix of that size: first matrix
t!       % duplicate and transpose: second matrix
G=       % logical index that locates n in the second matrix
)        % use that index into first matrix

0

ব্র্যাচল্যাগ , 20 বাইট

-1$r$[I*I+I+1=*2-?=.

এটি অন্যান্য সমস্ত উত্তরগুলির মতো একই কৌশলটি ব্যবহার করে।

ব্যাখ্যা

-1                   § Build the expression Input - 1
  $r                 § Square root of Input - 1
    $[I              § Unify I with the floor of this square root
       *I+I+1        § Build the expression I * I + I + 1
             =*2-?   § Evaluate the previous expression (say, M) and build the expression
                     § M * 2 - Input
                  =. § Unify the output with the evaluation of M * 2 - Input

এই উত্তর সম্পর্কে একটি মধ্যম আকর্ষণীয় তথ্য হ'ল =বন্ধনীগুলির চেয়ে ব্যবহার করা সহজ এবং খাটো ।

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