2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Кубооктаэдр, такой себе...
Сообщение26.11.2022, 23:33 


29/05/12
238
День добрый!
Буду признателен за помощь!

Сын из школы программирования принес задачу.
Я понимаю, что предварительно нужно понять математическую сторону задачи, остальное доделает сам. Решил помочь, а не получается.
Задача ясна прямо из картинки. Наращиваем кубики, нужно посчитать общее число на $\boldsymbol{k}$-ой итерации:

Изображение

Рассуждал так:
Фигура - симметричная. Сначала разберемся с центральным слоем.
1) При степени фигуры $0$ имеем $1$ кубик.
2) На первой итерации центральный кубик обрастает, а центральный слой представляет сообой крест из $5$ кубиков,
3) На второй итерации имеем $13$ кубиков
4) На следующей имеем $25$
То есть, имеем последовательность чисел кубиков в центральном слое при "обрастании":
$1$

$1+4$

$1+4+8$

$1+4+8+12$

Может быть, это не совсем строго :oops: , но легко увидел, по какому закону растет это число:

$S(k)=1+k(k+1)2$, где $k$-"степень" слоя.

Очевидно, что следующие слои (сверу и снизу от центрального и далее к полюсам) растут в соответсвии с той же последовательностью, но с запаздываением на одну итерацию. И число таких слоев есть $2k$
Пусть номер итерации для следуюшего слоя - $l$. Тогда число кубиков в этом слое

$S(l)=1+l(l+1)2$, где $l$-"степень" слоя.

"Степени" слоев связаны соотношением:

$l=k-1$

Тогда в ближайжайшем слое от центрального и в в следующем будет кубиков:

$S(k)=1+(k-1)k\cdot2$

$S(k)=1+(k-2)(k-1)2$

$\vdots$

Понятное дело, каждого слоя - по два, за исключением центрального. И так далее...
Вот тут дальше не представляю как правильно и строго считать.

Не судите строго, т.к. по своей специальности я - не математик :-)

Спасибо!

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение26.11.2022, 23:41 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли

(Оффтоп)

Убил бы того, кто неуместно употребляет здесь термин «кубоктаэдр». Он хоть сам кубоктаэдр видел? Не думаю.

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение26.11.2022, 23:45 


29/05/12
238
согласен!
поэтому тему топика так и назвал - такой себе...

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение27.11.2022, 00:23 
Заслуженный участник
Аватара пользователя


16/07/14
8814
Цюрих
Понятие декартовых координат уже известно? Если да, то можно заметить что на $k$-м шаге добавляются ровно кубики с координатами, удовлетворяющими равенству $|x| + |y| + |z| = k$, и, немного повозившись с арифметическими прогрессиями, посчитать.

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение27.11.2022, 07:31 
Заслуженный участник
Аватара пользователя


23/08/07
5457
Нов-ск
kda_ximik в сообщении #1571590 писал(а):
$S(k)=1+(k-1)k\cdot2$
Для суммирования $S(k)$ запишите так
$$(k-1)k=\frac{(k+1)k(k-1)}{3}-\frac{k(k-1)(k-2)}{3}$$

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение01.12.2022, 15:20 


06/01/09
231
В принципе можно же и не суммировать самому, это ж задача по программированию. Может преподаватель как раз хочет, чтобы цикл для суммирования написали?

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение15.12.2022, 20:14 
Экс-модератор
Аватара пользователя


23/12/05
12053
Мне кажется, что, поскольку это задача по программированию, а не по математике, то и решать ее надо "по-программистски" - хранить в каком-то виде массив кубиков с их положениями в пространстве. На каждой следующей итерации проверять, какие грани у кубиков открытые и долепливать к ним новые кубики. Вывод общей математической формулы и простое вбивание ее в виде кода программы, конечно, вычислительно эффективнее, но не несет никакой пользы с точки зрения обучения программированию.

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение15.12.2022, 22:31 
Экс-модератор
Аватара пользователя


23/12/05
12053
Либо, действительно, считать просто по слоям в цикле, без заморочек с гранями. На каждой итерации появляется два новых слоя размером в один кубик, а каждый имеющийся слой обрастает "квадратом из кубиков" с длиной стороны на 1 больше, чем в предыдущей итерации, то есть с периметром-числом кубиков на 4 больше. Создаем вектор пар, где первое число пары отвечает за число кубиков в слое, второе - за число добавишихся на предыдущей итерации. Для нулевого уровня пара примет вид (1,0), а дальше в цикле для каждого элемента вектора увеличиваем второй элемент на 4 и получившееся значение прибавляем к первому, после того, как проделали это для всех пар, добавляем еще две новых пары-слоя (1,0). По выходу из цикла считаем сумму первых элементов в векторе. В силу симметрии, можно добавлять не по два слоя на каждой итерации, а по одному, но после выхода из цикла суммировать с удвоением всех чисел, кроме 0го, соответствующего центральному слою.

 Профиль  
                  
 
 Re: Кубооктаэдр, такой себе...
Сообщение17.07.2023, 17:44 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Оставлю здесь, вдруг когда-нибудь кому-нибудь поможет. Это числа Деланнуа $D(3, n)$, они же — центрированные октаэдральные числа; последовательность A001845.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group