এই টিউটোরিয়ালে আমরা একটি প্রোগ্রাম লিখব যা n সংখ্যক প্রশ্নের জন্য পজিটিভ এবং নেগেটিভ মার্কিংসহ সম্ভাব্য মার্কসগুলো বের করবে।
মান লো ১০টি প্রশ্ন আছে এবং প্রতিটি সঠিক উত্তরের জন্য ২ নম্বর এবং ভুল উত্তরের জন্য -১ নম্বর। আমাদের লক্ষ্য হলো একজন ছাত্র পরীক্ষায় কী কীভাবে নম্বর পেতে পারে সেটি বের করা।
সমস্যা সমাধানের ধাপগুলো:
প্রশ্নের সংখ্যা, সঠিক উত্তরের জন্য পজিটিভ নম্বর এবং ভুল উত্তরের জন্য নেগেটিভ নম্বর ইনিশিয়ালাইজ করুন।
সম্ভাব্য নম্বর স্টোর করার জন্য একটি সেট ইনিশিয়ালাইজ করুন।
০ থেকে প্রশ্নের সংখ্যা পর্যন্ত دوটি নেস্টেড লুপ লিখুন সব সম্ভাব্য পথের জন্য।
প্রথম লুপ ভেরিয়েবলকে সঠিক উত্তর, দ্বিতীয় লুপ ভেরিয়েবলকে উত্তর না দেওয়া, এবং বাকি প্রশ্নগুলো ভুল উত্তর ধরুন।
নম্বরগুলো সেটে যোগ করুন।
সেটের সাইজ প্রিন্ট করুন।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
#include<bits/stdc++.h> using namespace std; int findPossibleMarksCount(int n, int x, int y) { set<int> marks; for (int i = 0; i <= n; i++) { for (int j = 0; j <= n; j++) { // i = correct // j = not_answered marks.insert((x * i) - ((n - i - j) * y)); } } return marks.size(); } int main() { int n = 20, x = 2, y = -1; cout << findPossibleMarksCount(n, x, y) << endl; }আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:
41
উপসংহার
টিউটোরিয়াল সম্পর্কে কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানান।