নির্দেশিকা
কার্য
দুটি নোট দেওয়া, স্ট্রিং বা তালিকাগুলি / অ্যারে হিসাবে ইনপুট করা, গণনা করুন যে তারা কতগুলি সেমিটোন পৃথক রয়েছে (নোটগুলি নিজেরাই অন্তর্ভুক্ত), সংখ্যা হিসাবে আউটপুট করে।
একটি সেমিটোন ব্যাখ্যা:
একটি সেমিটোন কীবোর্ডের এক ধাপ উপরে বা নীচে। সি থেকে সি # এর একটি উদাহরণ। আপনি দেখতে পাচ্ছেন নীচের নোটটি সি একটি সাদা নোটে রয়েছে এবং সি # এটির উপরে একটি কালো নোট। সিমিটোনগুলি হ'ল একটি কালো নোট থেকে পরবর্তী সাদা নোটে উপরে বা নীচে, বাদে:
- বি থেকে সি
- সি থেকে বি
- E থেকে F
- এফ থেকে ই
উদাহরণ
'A, C' -> 4
'G, G#' -> 2
'F#, B' -> 6
'Bb, Bb' -> 13
বিধি
- দুটি নোটের মধ্যে বৃহত্তম দূরত্ব 13 টি সেমিটোন।
- দ্বিতীয় ইনপুটযুক্ত নোটটি সর্বদা প্রথম ইনপুট করা নোটের উপরে থাকবে।
- আপনি ইনপুটটিকে স্ট্রিং বা অ্যারে / তালিকা হিসাবে নিতে পারেন। আপনি যদি এটি স্ট্রিং হিসাবে গ্রহণ করেন তবে নোটগুলি কমা দ্বারা পৃথক করা হবে (যেমন
String -> 'A, F'
,Array -> ['A', 'F']
)। - আপনি ধরে নিতে পারেন যে আপনাকে সর্বদা দুটি বৈধ নোট দেওয়া হবে।
- তীক্ষ্ণ হিসাবে চিহ্নিত করা
#
হবে এবং ফ্ল্যাট হিসাবে চিহ্নিত করা হবেb
- আপনার কোড অবশ্যই enharmonic সমতুল্য সমর্থন করে (যেমন এটি অবশ্যই F # এবং Gb উভয়ই সমর্থন করে)
- আপনার কোডটির সাথে নামযুক্ত নোটগুলি সমর্থন করার দরকার নেই, তবে একটি ধারালো বা ফ্ল্যাট ছাড়াই নামকরণ করা যেতে পারে (যেমন আপনার E #, বা Cb সমর্থন করার প্রয়োজন নেই)। বোনাস পয়েন্টগুলি যদি আপনার কোডটি সমর্থন করে তবে।
- আপনার কোডটিতে ডাবল শার্প বা ডাবল ফ্ল্যাট সমর্থন করার দরকার নেই।
- আপনি ধরে নিতে পারেন যে আপনি যদি একই নোট বা একই পিচ (উদাহরণস্বরূপ 'জিবি, জিবি' বা 'এ #, বিবি') পান তবে দ্বিতীয়টি প্রথমটির ওপরে একটাকা হবে না।
- এটি কোড গল্ফ তাই ন্যূনতম পরিমাণে বাইট জিততে উত্তর।
Cb
বা যত্ন নিতে হবে E#
? ডাবল শার্প / ফ্ল্যাটগুলি সম্পর্কে কী?
(X, Y]
যেহেতু সি থেকে সি # 1 সেমিটোন এবং সি থেকে সি 12 সেমিটোন হয়।
G -> G#
কারণ তারা উভয়ই অন্তর্ভুক্ত।