除法不是长除法

除法不是长除法

我想在此代码中像第 2 节中一样列出除法总和。我怎样才能使用随机数来实现这一点,并且代码不会太乱,甚至根本不使用表格?

    \documentclass{article}
    
    \usepackage{amsmath}
    \usepackage[makeroom]{cancel}
    \usepackage{longdivision}
    
    \usepackage{cancel}
    \usepackage{xcolor}
    \newcommand\Ccancel[2][black]{\renewcommand\CancelColor{\color{#1}}\cancel{#2}}
    
    \begin{document}
    
    \section{}
    
    \longdivision[stage=0]{168}{3}
    \longdivision[stage=1]{168}{3}
    \longdivision[stage=2]{168}{3}
    \longdivision[stage=3]{168}{3}
    
    
    \section{}
    
    \begin{tabular}{ccccc}
    0&5&56&&\\
    
    $3 \overline{)168}$
    &
    $3 \overline{)\Ccancel[red]{1}{^1}68}$
    &
    $3 \overline{)\Ccancel[red]{1}{{^1}\Ccancel[red]{6}{^1}}}8$\\
    \end{tabular}
    
    \end{document}

答案1

我不熟悉这个longdivision包,但是鼠尾草包将让你处理随机数,我认为这样就不会那么混乱了。该sagetex包将基于 Python 的计算机代数系统链接起来,称为智者用 LaTeX。下面是一个简单的例子:

\documentclass{article}
\usepackage{amsmath,sagetex}
\usepackage[makeroom]{cancel}
\usepackage{longdivision}
\usepackage{cancel}
\usepackage{xcolor}
\newcommand\Ccancel[2][black]{\renewcommand    \CancelColor{\color{#1}}\cancel{#2}}
\begin{document}
\section{}
\longdivision[stage=0]{168}{3}
\longdivision[stage=1]{168}{3}
\longdivision[stage=2]{168}{3}
\longdivision[stage=3]{168}{3}
\section{}
\begin{sagesilent}
output = r""
for i in range(0,2): 
    big = randint(100,200)
    small = randint(3,9)
    output += r"\longdivision[stage=0]{%s}{%s}"%(big,small)
    output += r"\longdivision[stage=1]{%s}{%s}"%(big,small)
    output += r"\longdivision[stage=2]{%s}{%s}"%(big,small)
    output += r"\longdivision[stage=3]{%s}{%s}\\\\"%(big,small)
\end{sagesilent}
\sagestr{output}
\end{document}

在Cocalc中运行的结果如下所示: 在此处输入图片描述

进入sagesilent模式后,该行for i in range(0,2):设置了 2 个随机问题,因为在 Python 中 range(a,b) 运行包含 a 但不包括 b。将 2 更改为 10,我们现在有 10 个问题,无需额外代码。大数字是介于 100 和 200 之间的随机整数(包括两者)。小数字是介于 3 和 9 之间的随机整数(包括)。它将此信息放入raw string, r"" 中,这使我们能够处理诸如 之类的问题字符\

Sage 不是 LaTeX 发行版的一部分。最简单的尝试方法是使用免费的可钙帐户。在此站点搜索sagetex更多示例。

相关内容