বার্ড একটি উচ্চ বিদ্যালয়ের শিক্ষার্থী যার রসায়নে কিছু সমস্যা রয়েছে problems ক্লাসে তাকে কিছু পরীক্ষা-নিরীক্ষার জন্য রাসায়নিক সমীকরণ ডিজাইন করতে হয়েছে, যেমন হেপাটেনের দহন:
সি 7 এইচ 16 + 11O 2 → 7CO 2 + 8H 2 ও
গণিত যেহেতু বার্ডের সবচেয়ে শক্তিশালী বিষয় নয়, তাই প্রায়শই প্রতিক্রিয়াটির প্রো-এবং শিক্ষাগুলির মধ্যে সঠিক অনুপাতটি খুঁজে পেতে তার বেশ কষ্ট হয়। যেহেতু আপনি বার্ডের টিউটর, তাই তাকে সহায়তা করা আপনার কাজ! একটি প্রোগ্রাম লিখুন, যা বৈধ রাসায়নিক সমীকরণ পেতে প্রয়োজনীয় প্রতিটি পদার্থের পরিমাণ গণনা করে।
ইনপুট
ইনপুট পরিমাণ ছাড়াই রাসায়নিক সমীকরণ। খাঁটি ASCII এ এটি সম্ভব করার জন্য, আমরা যে কোনও সাবস্ক্রিপশনকে সাধারণ সংখ্যা হিসাবে লিখি। এলিমেন্টের নামগুলি সর্বদা একটি বড় অক্ষর দিয়ে শুরু হয় এবং এটি একটি বিয়োগফল দ্বারা অনুসরণ করা যেতে পারে। অণুগুলি +
লক্ষণগুলি দিয়ে পৃথক করা হয় , ->
সমীকরণের উভয় পক্ষের মধ্যে একটি ASCII-art তীর প্রবেশ করা হয়:
Al+Fe2O4->Fe+Al2O3
ইনপুটটি একটি নতুন লাইন দিয়ে শেষ করা হয়েছে এবং এতে কোনও স্পেস থাকবে না। যদি ইনপুটটি অবৈধ হয়, আপনার প্রোগ্রামটি আপনার যা পছন্দ করতে পারে।
আপনি ধরে নিতে পারেন, ইনপুটটি কখনই 1024 বর্ণের বেশি হয় না। আপনার প্রোগ্রামটি হয় স্ট্যান্ডার্ড ইনপুট থেকে ইনপুট প্রথম আর্গুমেন্ট থেকে বা বাস্তবায়নের সংজ্ঞায়িত উপায়ে রানটাইমের সময় পড়তে পারে যদি না সম্ভব হয়।
আউটপুট
আপনার প্রোগ্রামের আউটপুট হ'ল অতিরিক্ত সংখ্যার সাথে বাড়ানো ইনপুট সমীকরণ। প্রতিটি উপাদানটির জন্য পরমাণুর সংখ্যা অবশ্যই তীরের উভয় পাশের সমান হতে হবে। উপরের উদাহরণের জন্য, একটি বৈধ আউটপুট:
2Al+Fe2O3->2Fe+Al2O3
যদি কোন অণুর সংখ্যা 1 হয় তবে এটিকে ফেলে দিন। একটি সংখ্যা সর্বদা একটি ধনাত্মক পূর্ণসংখ্যার হতে হবে। আপনার প্রোগ্রামটি অবশ্যই এমন সংখ্যার ফলস্বরূপ হবে যাতে তাদের যোগফল সর্বনিম্ন। উদাহরণস্বরূপ, নিম্নলিখিতটি অবৈধ:
40Al+20Fe2O3->40Fe+20Al2O3
সমাধান না হলে মুদ্রণ করুন
Nope!
পরিবর্তে. কোনও নমুনা ইনপুট যার কোনও সমাধান নেই
Pb->Au
বিধি
- এটি কোড-গল্ফ। সংক্ষিপ্ততম কোডটি জয়ী।
- আপনার প্রোগ্রামটি সমস্ত যুক্তিসঙ্গত ইনপুটগুলির জন্য যুক্তিসঙ্গত সময়ে শেষ করতে হবে।
পরীক্ষার মামলা
প্রতিটি পরীক্ষার ক্ষেত্রে দুটি লাইন থাকে: একটি ইনপুট এবং একটি সঠিক আউটপুট।
C7H16+O2->CO2+H2O
C7H16+11O2->7CO2+8H2O
Al+Fe2O3->Fe+Al2O3
2Al+Fe2O3->2Fe+Al2O3
Pb->Au
Nope!
solve(
ফাংশনটি ব্যবহার করে এবং eval(
ইনপুটটি ব্যাখ্যা করার জন্য আমি একবার আমার টিআই-89 গ্রাফিং ক্যালকুলেটরটিতে একটি রাসায়নিক সমীকরণ সল্ভার লিখেছিলাম :)