В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
kravchenko228
kravchenko228
29.10.2020 19:24 •  Информатика

На С++! Количество разбиений на слагаемые Дано натуральное число N. Найдите количество его разбиений на натуральные слагаемые. Два разбиения, отличающиеся только порядком слагаемых, будем считать за одно.

Например, для N=5 существует 7 различных разбиений:

5=5
5=4+1
5=3+2
5=3+1+1
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
Входные данные

Задано единственное число N≤30.

Выходные данные

Выведите количество различных разбиений на слагаемые.

Примеры
Ввод
Вывод
5
7Количество разбиений на слагаемые
Дано натуральное число N. Найдите количество его разбиений на натуральные слагаемые. Два разбиения, отличающиеся только порядком слагаемых, будем считать за одно.

Например, для N=5 существует 7 различных разбиений:

5=5
5=4+1
5=3+2
5=3+1+1
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1
Входные данные

Задано единственное число N≤30.

Выходные данные

Выведите количество различных разбиений на слагаемые.

Примеры
Ввод
Вывод
5
7

Показать ответ
Ответ:
anatolibikov1
anatolibikov1
10.04.2021 22:00

#include <stdio.h>

int d[100][100];

int dec(int n, int k) {

if ( n >= 0 && k >= 0 && d[n][k] > 0 ) return d[n][k];

if ( n < 0 ) return 0;

if ( n <= 1 || k == 1 ) return 1;

d[n][k] =  dec(n, k-1) + dec(n-k, k);  

return d[n][k];

}

int main() {

int m, i, j;

scanf("%d", &m);

for (i = 0; i < m; i++) {

  for (j = 0; j < m; j++) {

    d[i][j] = -1;

  }

}

printf("%d\n", dec(m, m));

return 0;

}

Объяснение:

там в комментариях почему-то не правильно вышло

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота