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

Упражнения на C ++: принимает n различных чисел и s, равное сумме n различных чисел

script1adsense2code
script1adsense3code

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

Напишите программу на C ++, которая принимает n разных чисел (от 0 до 100) и s, равную сумме n разных чисел.
Ваша задача - найти номер комбинации из n чисел, и один и тот же номер нельзя использовать для одной комбинации.

Пример:
Здесь n = 3 и s = 6:
1 + 2 + 3 = 6
0 + 1 + 5 = 6
0 + 2 + 4 = 6
Выход: Количество комбинаций: 3

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

Код C ++:

#include <bits/stdc++.h>
#define range(i,a,b) for(int (i)=(a);(i)<(b);(i)++)
#define rep(i,n) range(i,0,n)
using namespace std;
 
 
int n,s;
 
long long int dp[10][1010];
 
int main(void){
    dp[0][0]=1LL;
    rep(i,101){
        for(int j=8;j>=0;j--)rep(k,1010){
            if(k+i<=1010)
                dp[j+1][k+i]+=dp[j][k];
        }
    }
    cout << "Input n and s: ";
    cin >> n >> s;
    cout << "\nNumber of combination: ";
    cout << dp[n][s] << endl;
    return 0;
}

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

 Введите n и s: 3 6  
Количество комбинаций: 3

Блок - схема:

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

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

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

Предыдущий: Напишите программу на C ++, чтобы отобразить все високосные годы между двумя данными годами. Если в данный период високосного года нет, отобразите подходящее сообщение.
Далее: Напишите программу на C ++, в которой все слова «собака» заменены словами «кошка».

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code