LINUX.ORG.RU

Треугольник Паскаля по модулю 3

 


0

1

Добрый день, помогите преобразовать код в Латех так, чтобы он выдавал Треугольник Паскаля по модулю 3

Это фрагмент из преамбулы

\makeatletter
\newcommand\binomialCoefficient[2]{%
	% Store values 
	\c@pgf@counta=#1% n
	\c@pgf@countb=#2% k
	%
	% Take advantage of symmetry if k > n - k
	\c@pgf@countc=\c@pgf@counta%
	\advance\c@pgf@countc by-\c@pgf@countb%
	\ifnum\c@pgf@countb>\c@pgf@countc%
	\c@pgf@countb=\c@pgf@countc%
	\fi%
	%
	% Recursively compute the coefficients
	\c@pgf@countc=1% will hold the result
	\c@pgf@countd=0% counter
	\pgfmathloop% c -> c*(n-i)/(i+1) for i=0,...,k-1
	\ifnum\c@pgf@countd<\c@pgf@countb%
	\multiply\c@pgf@countc by\c@pgf@counta%
	\advance\c@pgf@counta by-1%
	\advance\c@pgf@countd by1%
	\divide\c@pgf@countc by\c@pgf@countd%
	\divide\c@pgf@countc by\c@pgf@countd%
	\repeatpgfmathloop%
	\the\c@pgf@countc%
}
\makeatother


А это в самом документе

\begin{tikzpicture}
\foreach \n in {0,...,6} {
	\foreach \k in {0,...,\n} {
		\node at (\k-\n/2,-\n) {$\binomialCoefficient{\n}{\k}$};
	}
}
\end{tikzpicture}


Последнее исправление: math1love (всего исправлений: 1)

Ответ на: комментарий от Evgueni

та же самая, только нужно еще применить функцию остатка при делении на 3, и я не знаю, как это сделать к техе..

math1love
() автор топика
Ответ на: комментарий от math1love

Это скорее вопрос к TikZ/pgf

Почему-то google не находит ничего внятного на pfgmathloop — по всей видимости это что-то внутреннее.

В мануале по TikZ/pgf есть информация по математическим операциям. Смотри, например, тут: http://www.texample.net/media/pgf/builds/pgfmanual_3.0.1a.pdf стр. 271

Тут есть описание команды \pgfmathmod{x}{y} Тебе нужно это вычесть из x затем.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Вот другой пример для треугольника более соответствующий пользовательской документации по pfg математике.

P.S. TeX конечно реальный язык программирования, но Кнут совсем не планировал его таким сделать, пока его буквально не вынудили. Так что написанию вычислений тут сопутствует некоторый оверхед.

Evgueni ★★★★★
()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от Evgueni

Спасибо большое! Разобрался и все получилось! Отличное пособие

math1love
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.