আপনি যদি ইতিমধ্যে জানেন না, তবে একটি চৌম্বকটি মূলত একটি 4-অংশ সংখ্যা। এই চ্যালেঞ্জের উদ্দেশ্যে, এর একটি আসল উপাদান এবং তিনটি কাল্পনিক উপাদান রয়েছে। কাল্পনিক উপাদান প্রত্যয় দ্বারা প্রতিনিধিত্ব করা হয় i
, j
, k
। উদাহরণস্বরূপ, 1-2i+3j-4k
সঙ্গে একটি চার বস্তুর সমষ্টি হল 1
বাস্তব উপাদান হচ্ছে এবং -2
, 3
এবং -4
কাল্পনিক উপাদান হচ্ছে।
এই চ্যালেঞ্জে আপনাকে একটি কোয়ার্টেরিয়নের স্ট্রিং ফর্ম (উদাহরণস্বরূপ "1+2i-3j-4k"
) সহগের একটি তালিকা / অ্যারেতে বিভক্ত করতে হবে (প্রাক্তন [1 2 -3 -4]
)। তবে, কোয়ার্টারিয়ন স্ট্রিংটি বিভিন্নভাবে ফর্ম্যাট করা যায় ...
- এটি স্বাভাবিক হতে পারে:
1+2i-3j-4k
- এটা তোলে অনুপস্থিত পদ থাকতে পারে:
1-3k
,2i-4k
(আপনি অনুপস্থিত পদ থাকে, তাহলে আউটপুট0
যারা পদ জন্য) - এটা তোলে কোফিসিয়েন্টস অনুপস্থিত থাকতে পারে:
i+j-k
(এই ক্ষেত্রে, এই সমতূল্য1i+1j-1k
অন্য কথায়, ক।i
,j
অথবাk
সামনে একটি সংখ্যা একটি আছে বলে ধরা হয় ছাড়া1
ডিফল্টরূপে সামনে) - এটি সঠিক ক্রমে নাও থাকতে পারে:
2i-1+3k-4j
- গুণফলগুলি কেবল পূর্ণসংখ্যা বা দশমিক হতে পারে:
7-2.4i+3.75j-4.0k
বিশ্লেষণ করার সময় কয়েকটি বিষয় লক্ষণীয়:
- সর্বদা একটি
+
বা-
শর্তাবলীর মধ্যে থাকবে - আপনাকে সর্বদা কমপক্ষে 1 টি মেয়াদ সহ বৈধ ইনপুট দেওয়া হবে এবং পুনরাবৃত্তি হওয়া অক্ষর (
j-j
গুলি) ছাড়াই - সমস্ত সংখ্যাটি বৈধ বলে ধরে নেওয়া যেতে পারে
- আপনি পার্স যদি আপনি চান তাহলে পরে অন্য ফর্ম মধ্যে সংখ্যার পরিবর্তন করতে পারেন (উদা।
3.0 => 3
,0.4 => .4
,7 => 7.0
)
পার্সিং / কোয়ার্টারিয়ন বিল্টিনগুলি এবং মানক লুফোলগুলি অনুমোদিত নয়। এর মধ্যে eval
কীওয়ার্ড এবং ফাংশন অন্তর্ভুক্ত রয়েছে । ইনপুটটি একটি একক স্ট্রিং হবে এবং আউটপুট হবে একটি তালিকা, একটি অ্যারে, শ্বেত স্পেস দ্বারা পৃথক করা মান ইত্যাদি be
এটি কোড-গল্ফ হিসাবে , বাইট জেতে সংক্ষিপ্ততম কোড।
টন ও 'পরীক্ষার মামলা
1+2i+3j+4k => [1 2 3 4]
-1+3i-3j+7k => [-1 3 -3 7]
-1-4i-9j-2k => [-1 -4 -9 -2]
17-16i-15j-14k => [17 -16 -15 -14]
7+2i => [7 2 0 0]
2i-6k => [0 2 0 -6]
1-5j+2k => [1 0 -5 2]
3+4i-9k => [3 4 0 -9]
42i+j-k => [0 42 1 -1]
6-2i+j-3k => [6 -2 1 -3]
1+i+j+k => [1 1 1 1]
-1-i-j-k => [-1 -1 -1 -1]
16k-20j+2i-7 => [-7 2 -20 16]
i+4k-3j+2 => [2 1 -3 4]
5k-2i+9+3j => [9 -2 3 5]
5k-2j+3 => [3 0 -2 5]
1.75-1.75i-1.75j-1.75k => [1.75 -1.75 -1.75 -1.75]
2.0j-3k+0.47i-13 => [-13 0.47 2.0 -3] or [-13 .47 2 -3]
5.6-3i => [5.6 -3 0 0]
k-7.6i => [0 -7.6 0 1]
0 => [0 0 0 0]
0j+0k => [0 0 0 0]
-0j => [0 0 0 0] or [0 0 -0 0]
1-0k => [1 0 0 0] or [1 0 0 -0]
+
।
-0
গত দুটি উদাহরণ জন্য আইনি আউটপুট একটি অংশ?
eval
স্ট্রিংয়ের মধ্যে থাকা বিধিনিষেধটিকে সংজ্ঞায়িত করতে দেয় , কোড এবং / অথবা ইনপুট হিসাবে ব্যাখ্যা করে। কোনও রূপান্তর এর অধীনে গণনা করা হয় না কারণ আপনি পাস করতে পারবেন না, উদাহরণস্বরূপ, "test"
একটি পূর্ণসংখ্যা গ্রহণের জন্য স্ট্রিংটি একটি পূর্ণসংখ্যার রূপান্তর ফাংশনটিতে স্ট্রিং করে তবে test
একটি সাধারণ eval
ফাংশনে কোড হিসাবে ব্যাখ্যা করা হবে । TLDR: eval: না, রূপান্তর টাইপ করুন: হ্যাঁ।
+
লক্ষণ থাকবে? ভালো লেগেছে:+1k
?