БЛОГФорумСсылки Написать письмоПочему Арбуз? Служебная UN ЕЖЕ-движение - международный союз интернет-деятелей

Письмо читателя Александра Высоцкого насчет статьи "Кролики-каннибалы, четверостишия и заповедник последовательностей" в журнале Hard'n'Soft №4 2002.
Перейти к статье   >>>>>>

1. Поэкспериментировав с приведенными в статье, а также в МатЭС и др., формулами для треугольных, квадратных, пятиугольных, тетраэдрических, пирамидальных и пр. фигурных чисел, вывел (не претендую на приоритет) более общие формулы:
для 1-мерных q-угольных чисел ;
(обычная арифметическая прогрессия)

для 2-мерных q-угольных чисел ;

для 3-мерных  q-угольных (пирамидальных) чисел

 

для m-мерных q-угольных чисел .

 

При p=1 получаются приведенные в указанных источниках формулы для треугольных и пр. чисел, при прочих – смещенные, предлагаю название “трапецеидальные”, числа.

Обозначение - n[m]=n*(n+1)*…*(n+m-1)

Вместо доказательства предлагаю экспериментальную проверку в прилагаемой EXCEL- таблице, в ней для каждого  m - 2 строки – верхняя получается суммированием, нижняя по формуле из макроса.

Исходные данные задаются: q = cells(1,1) m = cells(2,2)

Код макроса:

Dim i As Integer
Dim n As Integer
Dim m As Integer
Dim s As Integer
Sub Begin()
' Begin Макрос
' Макрос записан 24.05.02
If ActiveSheet.Name <> "Dia1" Then Exit Sub

For i = 1 To 24
Cells(i, 1).Value = 0
Next i

Randomize ' Инициализирует генератор случайных чисел.
m = 10
n = Int((m * Rnd) + 1) ' Возвращает случайное число от 1 до m.
s = 0

For i = 1 To n
Cells(i, 1).Value = Int((m * Rnd) + 1)
s = s + Cells(i, 1).Value
Next i
ChLine
Cells(22, 1).Value = m
Cells(24, 1).Value = n
Cells(23, 1).Value = s / n

End Sub

Sub RePos()
' Очередная итерация

If ActiveSheet.Name <> "Dia1" Then Exit Sub

n = Cells(24, 1).Value
s = 0

For i = 1 To n
Cells(i, 1).Value = Cells(i, 1).Value - 1
s = s + Cells(i, 1).Value
Next i

Cells(n + 1, 1).Value = n
s = s + n
n = n + 1

ChLine
Cells(24, 1).Value = n
Cells(23, 1).Value = s / n

End Sub
Sub histo()
'
' histo Макрос
' Макрос записан 24.05.02
'
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Dia1").Range("A1:A24"), PlotBy:= xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Dia1"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
Sub ChLine()
'
' ChLine Макрос
' Макрос записан 24.05.02
' Удаление-перенос пустой строки
'
i = 1

While (i <= n)
If Cells(i, 1).Value = 0 Then
Cells(i, 1).Select
Selection.EntireRow.Cut
Cells(n + 1, 1).Select
Selection.EntireRow.Insert Shift:=xlDown
Cells(n + 1, 1).Value = 0
n = n - 1
Else
i = i + 1
End If
Wend
End Sub

' К статье о фигурных числах

Function Fig(n, q As Integer, m As Integer, p)

If n = 1 Then
a = p
Else
a = q - 2
End If

If m > 0 Then
a = (q - 2) * (n - 1) + p * m
End If

For i = 2 To m
a = a * (n - 2 + i) / i
Next i
Fig = a
End Function

Function Fig0(n, q As Integer)
Fig0 = q - 2
End Function
Function Fig1(n, q As Integer)
Fig1 = (n * (q - 2) + (3 - q)) / 1
End Function
Function Fig2(n, q As Integer)
Fig2 = n * (n * (q - 2) + (4 - q)) / 1 / 2
End Function
Function Fig3(n, q As Integer)
Fig3 = n * (n + 1) * (n * (q - 2) + (5 - q)) / 1 / 2 / 3
End Function
Function Fig4(n, q As Integer)
Fig4 = n * (n + 1) * (n + 2) * (n * (q - 2) + (6 - q)) / 1 / 2 / 3 / 4
End Function
Function Fig5(n, q As Integer)
Fig5 = n * (n + 1) * (n + 2) * (n + 3) * (n * (q - 2) + (7 - q)) / 1 / 2 / 3 / 4 / 5
End Function

Результат работы макросов в Excel можно скачать здесь (zip-архив 22 кб)>>>>>>

2. Для эксперимента с задачей перекладывания книг, чтобы не возиться с вводом-выводом число колонок и число книг в них получаю подпрограмму Rnd() и заношу в ячейки таблицы, при получении 0 просто строку переношу в конец, вместо звездочек – первая попавшаяся диаграмма. (Ячейку с масштабом m вывожу в диаграмму, чтобы она не прыгала).

3. В сообщении о Вашем эксперименте формула о числе диагоналей вызывает сомнения, в ней напрашивается минус.

Александр Высоцкий niiredut@i.com.ua

 


Мои комментарии к письму:
1 Действительно, приведенные формулы дают треугольные, квадратные, пирамидальные, тетраэдальные и так далее числа. Ранее такие обобщенные формулы мне не встречались. (Хотя это вовсе и не значит, что их кто-либо не опубликовал ранее). Название “трапецеидальные” числа  довольно подходящее :)
2. Звездочки вроде нагляднее, хотя диаграммы симпатичные... но обе модели иллюстративные, к сути процесса не приближают... :(
3. Я пытался проверить - в треугольнике 0 диагоналей, в 4-х угольнике - 2 диагонали, в 5-угольнике - 5, в 6-угольнике - 9, в 7-угольнике - 14 диагоналей, что совпадает с членами ряда, дальше не проверял, но уверен, что тоже подойдет, значит формула верная...

Если есть замечания - пишите>>>>>>>


Автор about me
Design by dady_MYKC
)c( 2000-2019
Kопирайта нет, копируйте на здоровье :)

100112 лет в Интернете


.