Solução Semana 58 - Iniciante

Podemos interpretar o problema da seguinte forma:

Temos 4 inteiros a,b,c,d e queremos saber de quantas formas podemos escolher alguns deles de modo que a soma dos números escolhidos seja igual a n, para isso, basta considerar todos os casos possíveis, ou seja, checamos se a = n, b = n, c = n, a+b = n, e assim por diante, por simplicidade podemos chamar  S = a+b+c+d, em seguida note por exemplo que a+b=n se e somente se c+d = n-S. Segue o código para melhor entendimento:


#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;
}

view raw

finalizacao.cpp

hosted with ❤ by GitHub