Решение задачи "Сумма - 2" с Acmp

С пояснением   Просмотров: 19


Задано натуральное число x. Найдите число способов представить его в виде суммы четырех натуральных чисел: x = a + b + c + d, где a ≤ b ≤ c ≤ d.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, k = 0;
    cin >> n;
    for(int a = 1; a <= n/2; ++a){
        for(int b = a; b <= n/2; ++b){
            for(int c = b; c <= n/2; ++c){
                 int d = n - (a + b + c);
                 if(d >= c)
                    if(a + b + c + d == n)
                        ++k;
            }

        }
    }
    cout << k << endl;
    return 0;
}

         

 Администратор Photo Автор: Администратор


Чтобы сэкономить время, нужно перебирать 3 первых числа от 1 до n/2. А число d = n - (a + b + c).
Если d > c, как написано в условии, то проверяем равенство a + b + c + d = n. Если TRUE, то увеличиваем счетчик: k = k + 1 или ++k.

Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться