Dado el número de preguntas como , y puntos por la respuesta correcta como y puntos por la respuesta incorrecta. Uno puede intentar resolver la pregunta en un examen y obtener puntos si la respuesta es correcta, o puntos si la respuesta es incorrecta, o dejar la pregunta desatendida y obtener puntos. La tarea es encontrar el recuento de todas las diferentes marcas posibles que uno puede obtener en el examen.
Ejemplos:
Input: n = 2, p = 1, q = -1 Output: 5 The different possible marks are: -2, -1, 0, 1, 2 Input: n = 4, p = 2, q = -1 Output: 12
Enfoque:
iterar a través de todo el número posible de problemas correctamente resueltos y no resueltos. Almacene las puntuaciones en un conjunto que contenga elementos distintos teniendo en cuenta que hay un número positivo de problemas resueltos incorrectamente.
A continuación se muestra la implementación del enfoque anterior:
C++
// CPP program to find the count of // all the different possible marks // that one can score in the examination #include<bits/stdc++.h> using namespace std; // Function to return // the count of distinct scores int scores(int n, int p, int q) { // Set to store distinct values set<int> hset; // iterate through all // possible pairs of (p, q) for (int i = 0; i <= n; i++) { for (int j = 0; j <= n; j++) { int correct = i; int not_solved = j; int incorrect = n - i - j; // if there are positive number // of incorrectly solved problems if (incorrect >= 0) hset.insert(p * correct + q * incorrect); else break; } } // return the size of the set // containing distinct elements return hset.size(); } // Driver code int main() { // Get the number of questions int n = 4; // Get the marks for correct answer int p = 2; // Get the marks for incorrect answer int q = -1; // Get the count and print it cout << (scores(n, p, q)); } // This code is contributed by // Surendra_Gangwar
Java
// Java program to find the count of // all the different possible marks // that one can score in the examination import java.util.*; class GFG { // Function to return // the count of distinct scores static int scores(int n, int p, int q) { // Set to store distinct values HashSet<Integer> hset = new HashSet<Integer>(); // iterate through all // possible pairs of (p, q) for (int i = 0; i <= n; i++) { for (int j = 0; j <= n; j++) { int correct = i; int not_solved = j; int incorrect = n - i - j; // if there are positive number // of incorrectly solved problems if (incorrect >= 0) hset.add(p * correct + q * incorrect); else break; } } // return the size of the set // containing distinct elements return hset.size(); } // Driver code public static void main(String[] args) { // Get the number of questions int n = 4; // Get the marks for correct answer int p = 2; // Get the marks for incorrect answer int q = -1; // Get the count and print it System.out.println(scores(n, p, q)); } }
Python3
# Python3 program to find the count of # all the different possible marks # that one can score in the examination # Function to return the count of # distinct scores def scores(n, p, q): # Set to store distinct values hset = set() # Iterate through all possible # pairs of (p, q) for i in range(0, n + 1): for j in range(0, n + 1): correct = i not_solved = j incorrect = n - i - j # If there are positive number # of incorrectly solved problems if incorrect >= 0: hset.add(p * correct + q * incorrect) else: break # return the size of the set # containing distinct elements return len(hset) # Driver code if __name__ == "__main__": # Get the number of questions n = 4 # Get the marks for correct answer p = 2 # Get the marks for incorrect answer q = -1 # Get the count and print it print(scores(n, p, q)) # This code is contributed by Rituraj Jain
C#
// C# program to find the count of // all the different possible marks // that one can score in the examination using System; using System.Collections.Generic; class GFG { // Function to return // the count of distinct scores static int scores(int n, int p, int q) { // Set to store distinct values HashSet<int> hset = new HashSet<int>(); // iterate through all // possible pairs of (p, q) for (int i = 0; i <= n; i++) { for (int j = 0; j <= n; j++) { int correct = i; int not_solved = j; int incorrect = n - i - j; // if there are positive number // of incorrectly solved problems if (incorrect >= 0) hset.Add(p * correct + q * incorrect); else break; } } // return the size of the set // containing distinct elements return hset.Count; } // Driver code public static void Main() { // Get the number of questions int n = 4; // Get the marks for correct answer int p = 2; // Get the marks for incorrect answer int q = -1; // Get the count and print it Console.WriteLine(scores(n, p, q)); } } /* This code contributed by PrinciRaj1992 */
Javascript
<script> // JavaScript program to find the count of // all the different possible marks // that one can score in the examination // Function to return // the count of distinct scores function scores(n, p, q) { // Set to store distinct values let hset = new Set(); // iterate through all // possible pairs of (p, q) for (let i = 0; i <= n; i++) { for (let j = 0; j <= n; j++) { let correct = i; let not_solved = j; let incorrect = n - i - j; // if there are positive number // of incorrectly solved problems if (incorrect >= 0) hset.add(p * correct + q * incorrect); else break; } } // return the size of the set // containing distinct elements return hset.size; } // Driver Code // Get the number of questions let n = 4; // Get the marks for correct answer let p = 2; // Get the marks for incorrect answer let q = -1; // Get the count and print it document.write(scores(n, p, q)); </script>
12
Publicación traducida automáticamente
Artículo escrito por AmanKumarSingh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA