Podemos interpretar o problema da seguinte forma:
Temos 4 inteiros e queremos saber de quantas formas podemos escolher alguns deles de modo que a soma dos números escolhidos seja igual a , para isso, basta considerar todos os casos possíveis, ou seja, checamos se , , , , e assim por diante, por simplicidade podemos chamar , em seguida note por exemplo que se e somente se . Segue o código para melhor entendimento:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
int main() { | |
int n, a, b, c, d; | |
int resp = 0; | |
cin >> n >> a >> b >> c >> d; | |
int S = a+b+c+d; | |
if(n == a) resp++; | |
if(n == b) resp++; | |
if(n == c) resp++; | |
if(n == d) resp++; | |
if(n == a+b) resp++; | |
if(n == a+c) resp++; | |
if(n == a+d) resp++; | |
if(n == b+c) resp++; | |
if(n == c+d) resp++; | |
if(n == d+a) resp++; | |
if(n == S-a) resp++; | |
if(n == S-b) resp++; | |
if(n == S-c) resp++; | |
if(n == S-d) resp++; | |
if(n == S) resp++; | |
cout << resp << "\n"; | |
return 0; | |
} |