Voici une idée.
Après une petite réflexion, il me semble que c'est plus pratique avec des arguments donc la commande à utiliser comme suit `\mttablemultiplicationmodulo[rayon]{unite}{nombremax}` avec `rayon` est `2cm` par défaut.
\documentclass[a4paper,french]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[margin=2.5cm]{geometry}
\usepackage{tikz}
\newcommand{\mttablemultiplicationmodulo}[3][2cm]{%
\begin{tikzpicture}[rotate=90]
\draw (0,0) circle (#1);
\foreach \i in {0,...,\numexpr#3-1} {
\fill[green!40!black] (\i*36/#3*10:#1) circle (.4mm);
\draw ({(\i+1)*36/#3*10}:#1)--({(mod(\i*#2,#3)+1)*36/#3*10}:#1);}
\end{tikzpicture}}
\begin{document}
\section{Multiplication par 2}
\mttablemultiplicationmodulo{2}{10}
\mttablemultiplicationmodulo{2}{60}
\mttablemultiplicationmodulo{2}{100}
\section{Multiplication par 3}
\mttablemultiplicationmodulo{3}{10}
\mttablemultiplicationmodulo{3}{60}
\mttablemultiplicationmodulo{3}{100}
\section{Multiplication par 6}
\mttablemultiplicationmodulo{6}{10}
\mttablemultiplicationmodulo{6}{60}
\mttablemultiplicationmodulo{6}{100}
\end{document}
**Réponse originale.**
On a définie trois macros.
* `\mtcircle` pour sauvegarder la valeur du rayon du cercle.
* `\mtunite` le nombre dont on veut représenter la table de multiplication
* `\mtpoints` le nombre des points a mettre sur le cercle, (hauteur de la table)
el la macro `\mttablemultiplicationmodulo` qui fait le tikz.
\documentclass[a4paper,french]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[margin=2.5cm]{geometry}
\usepackage{tikz}
\newcommand{\mtcircle}{2cm}
\newcommand{\mttablemultiplicationmodulo}{%
\begin{tikzpicture}[rotate=90]
\draw (0,0) circle (\mtcircle);
\foreach \i in {0,...,\numexpr\mtpoints-1} {
\fill[green!40!black] (\i*36/\mtpoints*10:\mtcircle) circle (.4mm);
\draw ({(\i+1)*36/\mtpoints*10}:\mtcircle)--({(mod(\i*\mtunite,\mtpoints)+1)*36/\mtpoints*10}:\mtcircle);}
\end{tikzpicture}}
\begin{document}
\section{Multiplication par 2}
\newcommand{\mtunite}{2}
\newcommand{\mtpoints}{10}
\mttablemultiplicationmodulo
\renewcommand{\mtpoints}{60}
\mttablemultiplicationmodulo
\renewcommand{\mtpoints}{100}
\mttablemultiplicationmodulo
\section{Multiplication par 3}
\renewcommand{\mtunite}{3}
\renewcommand{\mtpoints}{10}
\mttablemultiplicationmodulo
\renewcommand{\mtpoints}{60}
\mttablemultiplicationmodulo
\renewcommand{\mtpoints}{100}
\mttablemultiplicationmodulo
\section{Multiplication par 6}
\renewcommand{\mtunite}{6}
\renewcommand{\mtpoints}{10}
\mttablemultiplicationmodulo
\renewcommand{\mtpoints}{60}
\mttablemultiplicationmodulo
\renewcommand{\mtpoints}{100}
\mttablemultiplicationmodulo
\end{document}