Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Математика _ Сколько существует треугольников?

Автор: 18192123 26.03.2007 16:41

Сколько существует треугольников, длины сторон которых принимают значения из множества 4, 5, 6, 7?

Как я полагаю, мы имеем дело с ........ с повторениями;
но не могу отличить это размещения с повторениями или сочетания с повторениями...
как объяснить, о чём речь в моей задаче?

Автор: Michael_Rybak 27.03.2007 2:07

s := 0;

for i := 4 to 7 do
for j := i to 7 do
for k := j to 7 do
if i + j > k then
inc(s);


Разбирайся.

Автор: 18192123 27.03.2007 2:59

Цитата(Michael_Rybak @ 26.03.2007 23:07) *

s := 0;

for i := 4 to 7 do
for j := i to 7 do
for k := j to 7 do
if i + j > k then
inc(s);


Разбирайся.

мне не код нужен, а логические рассуждения, вытекающие из определений размещений, сочетаний....

Автор: Jenkins 27.03.2007 3:53

1 :У треугольника сумма любых 2х сторон больше третьей стороны.
2 :мин + мин сравним с макс - 4+4 >7 (подходят все)
3 :нужно перебрать любые сочетания сповторениями
4 :формула (n+m-1)!/(m!(n-1)!)
5 :ответ (4+3-1)/(4!(3-1)!)=720/48=15
тебе сюда
http://e-lib.gasu.ru/eposobia/deev/KOMBINA.HTM#1.7

Автор: Lapp 27.03.2007 3:58

Цитата(Michael_Rybak @ 26.03.2007 22:07) *

      if i + j > k then inc(s);


Разбирайся.

Одно из двух: либо это условие лишнее (учитывая конкретные данные), либо сюда нужно добавить |i-j| < k (в расчете на общность решения).
Кроме того - в разделе Математика желательно избегать программирования..

Добавлено через 3 мин.
Цитата(Jenkins @ 26.03.2007 23:53) *

1 :У треугольника сумма любых 2х сторон больше третьей стороны.
2 :мин + мин сравним с макс - 4+4 >7 (подходят все)

Неплохо бы хотя бы упомянуть о втором условии: |a-b|<c. Чем оно хуже? В этих условиях, выполняется оно тоже всегда (т.к. |7-4|<4 )

Автор: Michael_Rybak 27.03.2007 17:36

Jenkins: перепутал m и n; ответ 20 получается. И ссылку не на 1.7 а на 1.9 надо ("Пример 27. В почтовом отделении имеются открытки 3 видов. Сколькими способами можно купить набор из 5 открыток?").

Цитата
Одно из двух: либо это условие лишнее (учитывая конкретные данные), либо сюда нужно добавить |i-j| < k (в расчете на общность решения).


В расчете на общность решения не нужно добавлять smile.gif У нас ведь i <= j <= k, поэтому всегда достаточно проверить i + j > k.

Цитата
Кроме того - в разделе Математика желательно избегать программирования..


Та я вообще удалил бы, не удаляю чтобы тред не портить. Виноват.

Автор: Jenkins 28.03.2007 1:24

Цитата(Michael_Rybak @ 27.03.2007 14:36) *

Jenkins:

да , всамом деле тут будет
(4+3-1)!/(3!(4-1)!)=720/36=20 .

Автор: Lapp 28.03.2007 4:13

Цитата(Michael_Rybak @ 27.03.2007 14:36) *

У нас ведь i <= j <= k, поэтому всегда достаточно проверить i + j > k.

Да, верно. smile.gif
Возражение снято..