মাঝারি ধরণের কঠিন প্রোগ্রামিং প্রবলেমস : পর্ব-১


একটা প্রবলেম কঠিন নাকি সহজ নাকি মোটামুটি তা তো নির্ভর করে প্রোগ্রামারের এ্যাবিলিটির উপর, তাই কারো কাছে প্রবলেমগুলো কঠিন লাগতে পারে আবার কাছে জলবত-তরল। যা হোক, যারা আগে করেন নাই এবং ইন্টারেস্ট ফিল করবেন তারা ট্রাই করতে পারেন।


০১. পাসওয়ার্ড চেকার।



_____: ইনপুট হিসেবে আপনাকে ২-২০ ক্যারেক্টের এর একটি স্ট্রিং দেওয়া হবে। আপনাকে যা চেক করতে হবে তা নিম্নরূপ:
__________(ক) স্ট্রিং এর লেন্থ ৫-১২ ক্যারেক্টর কিনা। হলে ঠিক আছে, না হলে ভুল।
__________(খ) স্ট্রিং এ লোয়ারকেস লেটার এবং ০-৯ পর্যন্ত নাম্বার ছাড়া আর কিছু আছে কিনা। যদি না থাকে তাহলে ঠিক আছে, থাকলে ভুল।
__________(গ) স্ট্রিং এ লোয়ারকেস লেটার এবং ০-৯ পর্যন্ত নাম্বার এই ২ ধরণের ক্যারেক্টর এর প্রত্যেকেরিই অন্তত একটি করে থাকতে হবে। যদি না থাকে তাহলে ভুল, অন্যথায় ঠিক।
__________(ঘ) স্ট্রিংটিতে পাশাপাশি একিই ক্যারেক্টর সিকুয়েন্স আছে কিনা। যদি থাকে তাহলে ভুল, না থাকলে ঠিক আছে।



যদি ইনপুট ভুল হয় তাহলে কি কারণে ভুল তা বলতে হবে। উদাহরণ:



cakeshop - ভুল কারণ নাম্বার নাই।



ab34 - ভুল কারণ সর্বনিম্ন ৫ টি ক্যারেক্টরও নেই।



A567xcz - ভুল কারণ লোয়ার কেস লেটার এবং নাম্বার এর বাইরের ক্যারেক্টর আছে।



9apanpanle8 - ভুল কারণ দুটি 'pan' পাশাপাশি আছে।



03bananas - ভুল কারণ দুটি 'an' পাশাপাশি আছে।



123xy123 - ঠিক



০২. লিস্ট কমন মাল্টিপল



_____: ২ বা ততোধিক নাম্বারের এলসিএম হচ্ছে সেই সবচেয়ে ছোট সেই নাম্বার যেটাকে ঐ সবকটি নাম্বার দিয়েই নিঃশেষে ভাগ করা যায়, এটাকেই মনে ল.সা.গু বলে, ভুলে গেছি। আপনাকে ইনপুট হিসেবে দেওয়া হবে যে কতটি নাম্বারের উপর আপনি কাজ করে এলসিএম বের করবেন। অতঃপর, ঐ কয়টি নাম্বার ইনপুট দেওয়া হবে। আউপুটে আপনি এলসিএম কত হয় তা দেখাবেন। যেমন, 



Number of Numbers : 3
Numbers Are : 9 3 30
LCM is : 90



০৩. ৩০ বা তারও বেশি ডিজিটের দুটি সংখ্যার গুণফল।



_____: দুটি সংখ্যা ইনপুট দেওয়া হবে যাদের প্রত্যেকটিতে ডিজিটের সংখ্যা ৩০ বা তার চেয়ে বেশি হবে। প্রতিটি সংখ্যা ইনপুট দেওয়ার আগে তাতে কয়টি ডিজিট আছে তা বলে দেওয়া হবে। আউটপুট হিসেবে এদের গুণফল দেখাতে হবে। আউটপুট পূর্ণ দেখাতে হবে, অর্থাৎ গুণফলের সবগুলো ডিজিটই দেখাতে হবে।



০৪. ৩০ বা তারও বেশি ডিজিটের দুটি সংখ্যার বিয়োগফল।



_____: দুটি সংখ্যা ইনপুট দেওয়া হবে যাদের প্রত্যেকটিতে ডিজিটের সংখ্যা ৩০ বা তার চেয়ে বেশি হবে। প্রতিটি সংখ্যা ইনপুট দেওয়ার আগে তাতে কয়টি ডিজিট আছে তা বলে দেওয়া হবে। আউটপুট হিসেবে এদের বিয়োগফল দেখাতে হবে। আউটপুট পূর্ণ দেখাতে হবে, অর্থাৎ বিয়োগফলের সবগুলো ডিজিটই দেখাতে হবে, বিয়োগফল নেগেটিভ হলে শুরুতে মাইনাস সাইন দেখাতে হবে।



০৫. সংখ্যাকে কথায় লিখতে হবে।



_____: ১-১০০০০০ পর্যন্ত নাম্বারের মধ্যে একটি নাম্বার ইনপুট দেওয়া হবে এবং আউটপুটে তাকে কথায় লিখে দেখাতে হবে। যেমন



Input: 21354
Output: Twenty one thousand & Three hundred & Fifty Four



Input: 9421
Output: Nine Thousand & Four Hundred & Twenty One


আমার ফেসবুক গ্রুপ এর লিংক : Programmer's Hub

আমার ফেসবুক পেজ এর লিংক: Tanmay On Run

Author: Tanmay Chakrabarty

Tanmay Chakrabarty is a former CSE student, currently working as a Senior Software Engineer with 5+ years of experience in the field of Web Application development in PHP+MySQL platform with strong skills in Javascript, JQuery, JQuery UI and CSS. He tries to write notes every week but fails due to heavy loads of duty.

Recommended Recommends

Comments

Contact Us