Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เครื่องหมายที่เป็นไปได้ที่แตกต่างกันสำหรับ n คำถามและการทำเครื่องหมายเชิงลบใน C ++ Program


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ค้นหาคะแนนที่เป็นไปได้ที่แตกต่างกันสำหรับคำถาม n ข้อที่ให้มาโดยมีเครื่องหมายบวกและลบ

สมมติว่าเรามีคำถาม 10 ข้อ โดยแต่ละข้อมี 2 คะแนนสำหรับคำตอบที่ถูกต้อง และ -1 คะแนนสำหรับคำตอบเชิงลบ เป้าหมายของเราคือค้นหาวิธีที่เป็นไปได้ทั้งหมดที่นักเรียนสามารถทำคะแนนในการสอบได้

มาดูขั้นตอนการแก้ปัญหากัน

  • เริ่มต้นจำนวนคำถาม เครื่องหมายบวกสำหรับคำตอบที่ถูกต้อง และเครื่องหมายลบสำหรับคำตอบที่ผิด

  • เริ่มต้นชุดเพื่อเก็บเครื่องหมายที่เป็นไปได้

  • เขียนลูปภายในสองวงจาก 0 ถึงจำนวนคำถามในทุกวิถีทางที่เป็นไปได้

  • สมมติว่าตัวแปรลูปแรกเป็นคำตอบที่ถูกต้อง ตัวแปรลูปส่วนไม่ได้รับคำตอบ และคำถามที่เหลือไม่ถูกต้อง

  • เพิ่มเครื่องหมายให้กับชุด

  • พิมพ์ขนาดของชุด

ตัวอย่าง

มาดูโค้ดกันเลย

#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

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น