প্রস্তাবনা
পূর্ণসংখ্যাগুলি সর্বদা হয় এমনকি বা বিজোড় । এমনকি পূর্ণসংখ্যা দুটি দ্বারা বিভাজ্য, বিজোড় পূর্ণসংখ্যা হয় না।
যখন আপনি দুটি পূর্ণসংখ্যা যোগ করেন আপনি সমানগুলি সমান বা বিজোড় ছিল কি না তার ভিত্তিতে ফলাফলটি সমান বা বিজোড় হবে কিনা তা নির্ধারণ করতে পারেন:
- এমনকি + এমনকি = এমনকি
- এমনকি + বিজোড় = বিজোড়
- বিজোড় + এমনকি = বিজোড়
- বিজোড় + বিজোড় = এমনকি
তেমনি, আপনি দুটি পূর্ণসংখ্যাকে গুণ করলে আপনি ফলাফলগুলি সমান বা বিজোড় কিনা তার উপর ভিত্তি করে ফলাফলটি সমান বা বিজোড় হবে কিনা তা নির্ধারণ করতে পারেন:
- এমনকি * এমনকি = এমনকি
- এমনকি * বিজোড় = এমনকি
- বিজোড় * এমনকি = এমনকি
- বিজোড় * বিজোড় = বিজোড়
সুতরাং, যদি আপনি কোনও গণিতের প্রকাশের সমস্ত পরিবর্তনের সমতা বা বিজোড়তা জানেন যা কেবলমাত্র যোগ এবং গুণকে জড়িত করে তবে আপনি ফলাফলটি সমান বা বিজোড় হবে কিনা তা নির্ধারণ করতে পারেন।
উদাহরণস্বরূপ, আমরা আত্মবিশ্বাসের সাথে বলতে পারি যে (68 + 99) * 37
ফলাফলটি একটি বিজোড় হিসাবে ঘটায় কারণ একটি সমাকামীর সাথে বিজোড় ( 68 + 99
) একটি বিজোড় এবং সেই বিজোড় সময়ে অন্য একটি বিজোড় ( odd * 37
) বিজোড় দেয়।
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা কেবলমাত্র চারটি অক্ষর যুক্ত স্ট্রিংয়ের সাথে নিয়ে থাকে eo+*
। এই স্ট্রিংটি কেবলমাত্র যোগ ( ) এবং গুণন ( ) সহ প্রিফিক্স নোটেশনে প্রদত্ত গাণিতিক প্রকাশকে উপস্থাপন করে । প্রত্যেকে কিছু স্বেচ্ছাসেবী এমনকি সংখ্যার প্রতিনিধিত্ব করে এবং প্রত্যেকে কিছু স্বেচ্ছাসৈনিক বিজোড় সংখ্যা উপস্থাপন করে।+
*
e
o
আপনার কাজটি হ'ল অভিব্যক্তিটিকে সহজ করা, মুদ্রণ করা বা একক ফিরানো e
বা তার o
ভিত্তিতে যে অভিব্যক্তির ফলাফলটি সমান বা বিজোড়।
আপনি ধরে নিতে পারেন যে ইনপুটটি সর্বদা বৈধ উপসর্গ শিরোনামে থাকবে। বিশেষত, প্রতিটি +
এবং *
এরপরে সর্বদা দুটি সম্পর্কিত অপারেশন থাকবে। এই অপারেশনগুলি একক e
বা o
, বা অন্য কোনও +
বা *
অভিব্যক্তি হতে পারে যা ঘুরে দেখা যায় অপারেশনগুলি।
উদাহরণস্বরূপ, ইনপুটটি *+eoo
হিসাবে পড়তে পারে mul(add(e, o), o)
, বা (e + o) * o
সাধারণ ইনফিক্স স্বরলিপিতে । e
এবং প্রথম o
সংশ্লিষ্ট operands হয় +
, এবং +eo
শেষ o
সংশ্লিষ্ট operands হয় *
।
কেবল এটি পরিষ্কার করার জন্য, এখানে কিছু অবৈধ ইনপুট রয়েছে যাগুলির উপসর্গের ভুল চিহ্ন রয়েছে:
eo
ooe
o+e
ee*
+*oe
+e*o
আউটপুটে একটি একক পেছনের নতুন লাইন ঠিক আছে, তবে অন্যথায় সমতল e
বা বিজোড়ের জন্য একটি সমতল o
যা আউটপুট হওয়া উচিত।
বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
পরীক্ষার মামলা
(খালি লাইনগুলি কেবল অনুরূপ কেসগুলিকে দর্শনীয়ভাবে পৃথক করতে সহায়তা করে))
e -> e
o -> o
+ee -> e
+eo -> o
+oe -> o
+oo -> e
*ee -> e
*eo -> e
*oe -> e
*oo -> o
+e+ee -> e
+e+eo -> o
+e+oe -> o
+e+oo -> e
+e*ee -> e
+e*eo -> e
+e*oe -> e
+e*oo -> o
+o+ee -> o
+o+eo -> e
+o+oe -> e
+o+oo -> o
+o*ee -> o
+o*eo -> o
+o*oe -> o
+o*oo -> e
*e+ee -> e
*e+eo -> e
*e+oe -> e
*e+oo -> e
*e*ee -> e
*e*eo -> e
*e*oe -> e
*e*oo -> e
*o+ee -> e
*o+eo -> o
*o+oe -> o
*o+oo -> e
*o*ee -> e
*o*eo -> e
*o*oe -> e
*o*oo -> o
++eee -> e
++eeo -> o
++eoe -> o
++eoo -> e
++oee -> o
++oeo -> e
++ooe -> e
++ooo -> o
+*eee -> e
+*eeo -> o
+*eoe -> e
+*eoo -> o
+*oee -> e
+*oeo -> o
+*ooe -> o
+*ooo -> e
*+eee -> e
*+eeo -> e
*+eoe -> e
*+eoo -> o
*+oee -> e
*+oeo -> o
*+ooe -> e
*+ooo -> e
**eee -> e
**eeo -> e
**eoe -> e
**eoo -> e
**oee -> e
**oeo -> e
**ooe -> e
**ooo -> o
+e+e+e+ee -> e
+o+o+o+oo -> o
*e*e*e*ee -> e
*o*o*o*oo -> o
+e+o+e+oe -> e
+o+e+o+eo -> o
*e*o*e*oe -> e
*o*e*o*eo -> e
+e*e+e*ee -> e
+o*o+o*oo -> o
*e+e*e+ee -> e
*o+o*o+oo -> o
+**++*+*eeoeeooee -> e
+**++*+***eooeoeooeoe -> e
+**+***+**++**+eooeoeeoeeoeooeo -> o
+e*o*e**eoe -> e
+*e+e+o+e**eeoe -> e
**o++*ee*++eoe*eo+eoo -> o
eval
ঠিক আছে ব্যবহার করছেন ?