X>ttq*QwoEqGd*+
এটি অনলাইন চেষ্টা করুন!
ম্যাট্রিক্স হিসাবে সংগ্রহ করুন এবং মুদ্রণ করুন
কিভাবে?
সম্পাদনা: @ ডুরকনব এর উত্তর হিসাবে একই কৌশলটি সবেমাত্র অন্যরকম এসেছিল।
সর্পিলের তির্যক উপাদানগুলির মধ্যে পার্থক্যটি পাটিগণিত ক্রম । এর n পদগুলির যোগফল হ'ল এন ( এন - 1 ) (সাধারণ এপি সূত্রে)। এই যোগফলটি 1 দ্বারা বর্ধিত, ত্রিভুজ উপাদানকে অবস্থান ( এন , এন ) দেয় ।0,2,4,6,8,…nn(n−1)(n,n)
প্রদত্ত , আমরা এই দুটিয়ের সর্বাধিক সন্ধান করি, যা এই বিন্দুটির সাথে সম্পর্কিত সর্পিলটির "স্তর"। তারপরে, আমরা সেই স্তরের তির্যক মানটি v = n ( n - 1 ) + 1 হিসাবে পাই । এমনকি স্তরগুলির জন্য, ( x , y ) এর মানটি তখন v + x - y , বিজোড় স্তরগুলির জন্য v - x + y হয় ।(x,y)v=n(n−1)+1(x,y)v+x−yv−x+y
X> % Get the maximum of the input coordinates, say n
ttq* % Duplicate that and multiply by n-1
Q % Add 1 to that. This is the diagonal value v at layer n
wo % Bring the original n on top and check if it's odd (1 or 0)
Eq % Change 1 or 0 to 1 or -1
Gd % Push input (x, y) again, get y - x
* % Multiply by 1 or -1
% For odd layers, no change. For even layers, y-x becomes x-y
+ % Add that to the diagonal value v
% Implicit output
বিকল্প 21 বাইট সমাধান:
Pdt|Gs+ttqq*4/QJb^b*+
এটি অনলাইন চেষ্টা করুন!
উপরের থেকে
ম্যাট্রিক্স হিসাবে সংগ্রহ করুন এবং মুদ্রণ করুন
, আমরা জানি যে আমরা ফাংশনটি চাই
f=m∗(m−1)+1+(−1)m∗(x−y)
যেখানে ।m=max(x,y)
কিছু প্রাথমিক গণনা দেখায় যে সর্বাধিক দুটি সংখ্যার জন্য একটি এক্সপ্রেশন
m=max(x,y)=x+y+abs(x−y)2
f
f=(x−y)⋅ik+14((k−2)⋅k)+1
k=abs(x−y)+x+y
এটি সমাধানটি কার্যকর করে ফাংশন।