Wolfram Language Fast Introduction for Math Students
Начать работу »

Математические головоломки

Язык Wolfram является идеальной платформой для решения сложных и интересных математических головоломок. Исследование и решение таких задач становится простым как только Вы освоили базовые принципы языка.

Предположим необходимо найти количество положительных целых чисел до 1 000 000 у которых нет общих делителей с 1 000 000.

Для начала проверим все положительные целые числа в заданном диапазоне, используя функцию CoprimeQ:

In[1]:=
Click for copyable input
CoprimeQ[Range[1000000], 1000000] // Short
Out[1]=

Уберем все значения False, заменив их значением Nothing:

In[2]:=
Click for copyable input
% /. False -> Nothing // Short
Out[2]=

Затем рассчитаем длину Length полученного списка:

In[3]:=
Click for copyable input
Length[%]
Out[3]=

И объединим все шаги в одно выражение:

In[4]:=
Click for copyable input
Length[CoprimeQ[Range[1000000], 1000000] /. False -> Nothing]
Out[4]=

Символьные выражения зачастую поддаются прямым подходам. Пусть задано положительное целое число k, можно ли найти общую формулу для суммы 1k+2k+...+nk?

Решение для k=2:

In[1]:=
Click for copyable input
\!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]
\*SuperscriptBox[\(i\), \(2\)]\)
Out[1]=

Общее решение - это n-ое гармоническое число порядка k:

In[2]:=
Click for copyable input
\!\(
\*UnderoverscriptBox[\(\[Sum]\), \(i = 1\), \(n\)]
\*SuperscriptBox[\(i\), \(k\)]\)
Out[2]=

Используя встроенную графику, также легко можно решить и визуализировать геометрические задачи. Рассмотрим следующую фигуру:

In[1]:=
Click for copyable input
Labeled[Graphics[
  shape = {Rectangle[], Rectangle[{0, 1}], Rectangle[{1, 0}]}], n]
Out[1]=

При заданной длине основания n, возможно ли заполнить данную фигуру такими же фигурами но с длиной основания 1?

Решение для n=2:

In[2]:=
Click for copyable input
Graphics[{
  Scale[shape, 2, {0, 0}],
  {Yellow, shape},
  {Green, Translate[shape, {1, 1}]},
  {Blue, Translate[Rotate[shape, -90 \[Degree]], {0, 2}]},
  {Red, Translate[Rotate[shape, 90 \[Degree]], {2, 0}]}
  }]
Out[2]=

Решение для n=3:

In[3]:=
Click for copyable input
Graphics[{
  Scale[shape, 3, {0, 0}],
  {Orange, shape},
  {Magenta, Translate[Rotate[shape, -90 \[Degree]], {0, 2}]},
  {Green, Translate[shape, {1, 1}]},
  {Red, Translate[Rotate[shape, 90 \[Degree]], {2, 0}]},
  {Black, Translate[shape, {0, 4}]},
  {Blue, Translate[Rotate[shape, 180 \[Degree]], {1, 4}]},
  {Gray, Translate[shape, {2, 2}]},
  {Purple, Translate[Rotate[shape, -90 \[Degree]], {4, 1}]},
  {Yellow, Translate[Rotate[shape, 90 \[Degree]], {4, 0}]}
  }]
Out[3]=

Известные задачи и головоломки доступны через естественную форму ввода:

In[1]:=
X
Tower of Hanoi 2 disk solution
Out[1]=

Большое число различных углубленных примеров доступно на Wolfram Demonstrations Project.