М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Манdarinka
Манdarinka
03.03.2023 19:58 •  Информатика

На С++! Количество разбиений на слагаемые Дано натуральное число 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

👇
Ответ:
lusine20041904
lusine20041904
03.03.2023

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

}

Объяснение:

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

4,5(93 оценок)
Открыть все ответы
Ответ:
sofiabogdanova1
sofiabogdanova1
03.03.2023
Var  s: string;  k: real;
begin 
write('Введите вес в килограммах '); 
Readln(k); 
Write('Во что хотите перевести (мгр, гр, Цн, Тн, КТн, МТн): '); 
Readln(s); 
case s of   
'мгр': write(k, 'кг = ', k * 1000000, ' мгр');   
'гр': write(k, 'кг = ', k * 1000, ' гр');   
'Цн': write(k, 'кг = ', k / 100, ' ц');   
'Тн': write(k, 'кг = ', k / 1000, ' Т');   
'КТн': write(k, 'кг = ', k / 1000000, ' Кт');   
'МТн': write(k, 'кг = ', k / 1000000000, ' Мт') 
Else write('Неправильно введена единица измерения'); 
End;
end.
4,7(79 оценок)
Ответ:
kylie333
kylie333
03.03.2023
41)Создать новую таблицу
42) Д)
43)Правка - Удалить запись.
50) Параметры.
53)Выводится диалоговое окно с приглашением ввести параметр для условия на отбор записей.
56)Изменяются значения в полях определенных записей.
57)Создается таблица с данными, соответствующими определенным условиям.
62)Автоматической вставки последовательных или случайных чисел в качестве номера новой записи.
65)Во вкладке Режим таблиц – выбрать Вставить 
66)Разные имена, но одинаковый тип данных.
69)Для отбора записей, данные в которых соответствуют определенным условиям.
70)Е)
71)Для создания контрольного переключателя.
4,4(69 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ