%\documentclass[11pt]{scrartcl}
\documentclass[border=3mm, varwidth]{standalone}
\usepackage[ngerman]{babel}
\usepackage{pgf, pgffor, tikz, amsmath, amssymb}
\usetikzlibrary{math, matrix}
\begin{document}
$M_n(k) = (2k-1)\cdot 2^n - 1 \text{ mit } k,n \in \mathbb{N}_{\geq 1}$ \\
\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\k, \n) {return int((2*\k-1)*2^\n-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zahler, \nenner) {return int(\zahler/gcd(\zahler,\nenner));};
function RedNenner(\zahler, \nenner) {return int(\nenner/gcd(\zahler,\nenner));};
}
% Ausgabe des reduzierten Bruches
\newcommand{\rfrac}[2]{%%%%%%%%%%%%%%%%%%
\pgfmathtruncatemacro{\RedZaehler}{RedZaehler(#1,#2)}
\pgfmathtruncatemacro{\RedNenner}{RedNenner(#1,#2)}
\pgfmathtruncatemacro{\Eins}{1}
\ifnum \RedNenner = \Eins
$\textcolor{red}{\RedZaehler}$ % ganz
\else
$\frac{\RedZaehler}{\RedNenner}$ % Bruch
\fi
}%%%%%%%%%%%%%%%%%%
%Test Mersenne: \pgfmathparse{Mersenne(1,3)} \pgfmathresult \\
%Test RedZaehler: \pgfmathparse{RedZaehler(6, 2)} \pgfmathresult \\
%Test reduzierter Bruch: \rfrac{6}{2} ~~ \rfrac{18}{11} ~~ \rfrac{4}{12} \\
%Test Mersenne Bruch: \rfrac{Mersenne(1,1)}{7}
\def\nMaxSpalte{3} % Länge der anzuzeigenden Mersenne Folge
\def\nMaxZeile{7}
\def\MatrixZeile{ \& \& \\ } % "nMaxSpalte-1 \&-Zeichen"
\def\MatrixZeilen{% % nMaxZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile