кодесурса
«C ++

Упражнения C ++: подсчитывает количество комбинаций, в которых сумма цифр равна заданному числу.

script1adsense2code
script1adsense3code

C ++ Basic: упражнение 72 с решением

Напишите программу на C ++, которая считывает n цифр, выбранных от 0 до 9, и считает количество комбинаций, в которых сумма цифр равна заданному числу. Не используйте одни и те же цифры в комбинации.
Например, комбинации, где n = 2 и s = 5, следующие:
0 + 5 = 5
1 + 4 = 5
3 + 2 = 5

Пример решения :

Код C ++:

#include <string.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    const int MAX_NUM  = 9;
    const int MAX_NOS = 9;
    const int MAX_SUM_VAL = 100;
 
    int n, s, dp[MAX_NOS + 1][MAX_NUM + 1][MAX_SUM_VAL + 1];
 
    long long SUM_VAL = 0;
 
    memset(dp, 0, sizeof(dp));
 
    for (int i = 0; i < MAX_NUM; i++)
    {
        dp[1][i][i] = 1;
    }
 
    for (int N = 2; N <= MAX_NOS; N++)
    {
        for (int i = 1; i <= MAX_NUM; i++)
        {
            for (int j = 1; j <= MAX_SUM_VAL; j++)
            {
                if (j - i >= 0)
                {
                    for (int k = 0; k < i; k++)
                    {
                        dp[N][i][j] += dp[N - 1][k][j - i];
                    }
                }
            }
        }
    }
 
    cin >> n >> s;
 
      SUM_VAL = 0;
 
        for (int i = 0; i <= MAX_NUM; i++)
        {
            SUM_VAL += dp[n][i][s];
        }
 
        cout << "Number of digits " << n << " and Sum =" << s;
        cout << "\nNumber of pairs: " <<SUM_VAL << endl;
  
 
    return 0;
}

Пример вывода:

 Пример ввода: 2 5
Количество цифр 2 и сумма = 5
Количество пар: 3

Блок - схема:

«Блок-схема:

Редактор кода C ++:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на C ++, которая читает последовательность целых чисел и печатает значения режима последовательности. Число целых чисел больше или равно 1 и меньше или равно 100.
Далее: Напишите программу на C ++, которая принимает цену за единицу продаж и количество продаж различных товаров и вычисляет общую сумму продаж и среднее количество продаж. Все входные значения должны быть больше или равны 0 и меньше или равны 1000, а количество пар единиц продаж и количества продаж не должно превышать 100. Если в среднем количестве продаж встречается дробь, округлите первую десятичную дробь место.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code