Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
5 / 5 / 1
Регистрация: 13.01.2010
Сообщений: 21

Разбиения в сумму слагаемых

15.01.2010, 09:46. Показов 3283. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Входные данные
Во входном файле задано целое числа N(1<=N<=120)/
Выходные данные
Выведите в выходной файл число способов представить N в виде суммы целых положительных чисел без учета порядка.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2010, 09:46
Ответы с готовыми решениями:

Вычислить сумму и найти число слагаемых, которые вошли в сумму
Вычислить сумму и найти число слагаемых, которые вошли в сумму. Процесс вычислений требуется закончить, когда очередное слагаемое по модулю...

Вычислить сумму и найти число слагаемых, которые вошли в сумму
\sum_{n=0}^{\infty}\frac{(-1)^{n+1}x^{2n+1}}{(2n+1)(2n+3)} Вычислить сумму и найти число слагаемых, которые вошли в сумму. Процесс...

Вычислить сумму 10 слагаемых 1+1/2+1/3+…+1/n
8. Вычислить сумму 10 слагаемых 1+1/2+1/3+…+1/n.

2
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
15.01.2010, 09:58
Это олимпиадная задача, причём, достаточно серьёзная, на динамическое программирование. Возможно, Вам надо обратиться в фриланс, мало найдётся желающих мучаться с ней просто так
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.01.2010, 11:36
Лучший ответ Сообщение было отмечено Dmc94 как решение

Решение

Вот вариант решения этой задачи. Принцип такой. Например для n=4.
Code
1
2
3
4
5
1. 1 1 1 1//исходный массив
2. 1 1 2
3. 1 3
4. 2 2
5. 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
uses crt;
const nmax=120;
procedure Summ(N:integer);
var List : array [0..nmax] of byte;{вспомогательный массив для хранения значений слагаемых}
    CountVariants : longint;{количество вариантов}
 {вспомогательная рекурсивная процедура генерации разложений}
 procedure Generate(k, Count, max:longint);{номер элемента, количество,максимальное значение=числу}
  begin
    {Текущее разложение}
    inc(CountVariants);{первое разложение на единицы}
    while (List[k] < max) and (k < (Count-1)) do{пока значение элемента меньше числа и его номер меньше количества элементов-1}
      begin
        dec(Count); inc(List[k]);   {уменьшаем размер, переходим в следующий разряд влево, сумма не изменяется}
        Generate(k+1, Count, List[k]);{генерируем следующее разложение}
      end;
    List[k] := 1;{снова в правую крайнюю ячейку}
 end;
 
begin
   if (N < 1) or (N > nmax) then exit;{больше 120 количество разбиений выходит за пределы типа}
   FillChar(List, sizeOf(List), 1);{заполняем массив единицами}
   CountVariants := 0;
   Generate(0, N, N);{генерируем разбиения}
   WriteLn('Всего вариантов: ', CountVariants);
end;
 
var N:integer;
begin
   clrscr;
   write('N=');readln(N);{Число, которое нужно разложить на слагаемые}
   Summ(N);
   ReadLn;
end.
Добавлено через 2 минуты
Правда этот вариант медленный, при n=120 работает около 3 минут в Турбо Паскале и чуть меньше минуты в консоли Делфи. При значениях меньше 100 приемлим. А если у Вас олимпиада и есть ограничение по времени, то Вам это не подойдет.

Добавлено через 3 минуты
Вот здесь есть решение на С++, не проверял, не силен в этом языке.
Подсчет количества разложения числа на слагаемых
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2010, 11:36
Помогаю со студенческими работами здесь

Вычислить сумму 10 слагаемых

Посчитать сумму n слагаемых
Суть проблемы такова: Дан ряд (на присоединенной картинке). Первая часть задачи - посчитать сумму n слагаемых (n - с клавиатуры)....

Рассчитать конечную сумму n слагаемых
\sum_{i=1}^{n}(cos(cos(i)))^i/(i^2+1)^2 Program; var n,i:integer; s,a:real; begin writeln('N='); readln(n); s:=0; for...

Рассчитать конечную сумму n слагаемых
расчитать конечную сумму n слогаемыхс помощью while \sum_{n=1}^{\propto }(2^n/e^n!) Добавлено через 33 минуты боже спасите...

Вычислить сумму первых n слагаемых 12+22-32+42+52-62+
4. Вычислить сумму первых n слагаемых 12+22-32+42+52-62+…(каждое третье слагаемое берется со знаком «минус»). Нужно очень срочно!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru