আপনার কাজটি হ'ল ইনপুট হিসাবে কোনও এলিমেন্টের আইসোটোপযুক্ত একটি স্ট্রিং গ্রহণ করুন, পরমাণুর সংখ্যার সাথে নিম্নলিখিত উদাহরণের মতো এনকোডযুক্ত যার পরে একটি স্থান এবং IUPAC রাসায়নিক চিহ্নটির জন্য উপাদান থাকে:
162 Dy
এবং সেই আইসোটোপের পরমাণুতে নিউট্রনের সংখ্যাটি ফিরিয়ে দিন ।
উপরের উদাহরণে, ডাইসপ্রোসিয়াম -162 এর মধ্যে 96 নিউট্রন রয়েছে (162 মোট নিউক্লিয়ন, বিয়োগ 66 প্রোটন কারণ এটি ডিসপ্রোজিয়াম), তাই আউটপুট হওয়া উচিত 96
।
আপনি ধরে নিতে পারেন যে প্রদত্ত উপাদানটি বর্তমানে আইইউপিএসি দ্বারা স্থায়ী নাম দেওয়া 114 টি উপাদানের মধ্যে একটি (ফ্লিরোভিয়াম এবং লিভারমোরিয়াম সহ) হবে এবং জেনেরিক নাম যেমন Uus
"ইউনসেপটিয়াম" নয় be আপনি ধরেও নিতে পারেন যে আইসোটোপের পারমাণবিক সংখ্যা 1000 এর বেশি হবে না বা উপাদানটির প্রোটনের সংখ্যার চেয়ে কম হবে না।
প্রোটন বা নিউট্রন সংখ্যক উপাদানগুলির তথ্য পুনরুদ্ধার করতে আপনি বিল্ট-ইনগুলি ব্যবহার করতে পারবেন না বা আপনার কোডের মধ্যে এমন কোনও ফাংশন ব্যবহার করতে পারেন যা কোনও স্ট্রিং বা নম্বর টোকেনকে নিজের কোড হিসাবে মূল্যায়ন করে।
যে কোনও ভাষার ভাষাতে এটি করতে সবচেয়ে কম টোকেন ব্যবহার করার প্রোগ্রাম। তবে, এই চ্যালেঞ্জের উদ্দেশ্যে, একটি স্ট্রিংয়ের প্রতিটি অক্ষর বা একটি পরিবর্তনশীল নাম একটি স্ট্রিংয়ে রূপান্তরিত হয়, একটি টোকেন হিসাবে গণনা করে।
রেফারেন্সের জন্য উপাদানগুলির তালিকা এবং তাদের পারমাণবিক সংখ্যা:
65
একটি টোকেন নাকি 2 টোকেন?
f[i_] := {n = ElementData[#[[2]], ToString@"StandardName"] <> ToString[#[[1]]], IsotopeData[n, "NeutronNumber"]} &[i]