Помощь - Поиск - Пользователи - Календарь
Полная версия: Сколько существует треугольников?
Форум «Всё о Паскале» > Образование и наука > Математика
18192123
Сколько существует треугольников, длины сторон которых принимают значения из множества 4, 5, 6, 7?

Как я полагаю, мы имеем дело с ........ с повторениями;
но не могу отличить это размещения с повторениями или сочетания с повторениями...
как объяснить, о чём речь в моей задаче?
Michael_Rybak
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
Цитата(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
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.9
Lapp
Цитата(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
Jenkins: перепутал m и n; ответ 20 получается. И ссылку не на 1.7 а на 1.9 надо ("Пример 27. В почтовом отделении имеются открытки 3 видов. Сколькими способами можно купить набор из 5 открыток?").

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


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

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


Та я вообще удалил бы, не удаляю чтобы тред не портить. Виноват.
Jenkins
Цитата(Michael_Rybak @ 27.03.2007 14:36) *

Jenkins:

да , всамом деле тут будет
(4+3-1)!/(3!(4-1)!)=720/36=20 .
Lapp
Цитата(Michael_Rybak @ 27.03.2007 14:36) *

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

Да, верно. smile.gif
Возражение снято..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.