![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Славик |
![]()
Сообщение
#1
|
Гость ![]() |
Есть два числа n, m. Нужно посчитать количество сум которые удоволетворяют условиям:
1) количество слагаемых не больше m 2) каждое из слагаемых не больше n, причем ноль считается за слагаемое, и слагаемые могут повторяться 3) например суммы 1+3+5 и 1+5+3 считаются идентичными Я написал программу, но не уверен в том что она рабатает верно Код var f,f1:text; n,m:integer; sum:integer; procedure ff(j,lev:integer); var i:integer; begin if lev<=m then begin for i:=j to n do begin inc(sum); ff(i,lev+1); end; end; end; begin assign(f,'sums.in'); assign(f1,'sums.out'); reset(f); rewrite(f1); readln(f,n,m); sum:=0; ff(0,1); writeln(f1,sum); close(f); close(f1); end. Может ли кто-нибудь проверит эту прогу? |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 14:27 |