我正在构建一个用随机数构建的系统,它可以有效地猜测和检查以解决如下系统:
平均数=-10
m+n=3
其中 m 和 n 是随机整数。
奇怪的是,我注意到不m+n=0 的情况,但 m=n=0 的情况除外。我重新编译了好几次,还是没发现一个情况。
为什么?随机数生成不像我想象的那样随机吗?
这是代码,它生成练习(第一和第三列)以及解决方案(第二和第四列)。
\documentclass{article}
\usepackage[margin=1.5cm, landscape]{geometry}
\usepackage{ifthen}
\usepackage{multicol}
\setlength{\columnsep}{1.5cm}
\usepackage{pgf}
\usepackage{pgffor}
\setlength{\parindent}{0pt}
\pgfmathsetseed{\number\pdfrandomseed}
\newcommand{\InitVariables}
{
\pgfmathsetmacro{\m}{int(random(0,5)-5)}
\pgfmathsetmacro{\n}{int(random(0,5)-5)}
\pgfmathsetmacro{\sum}{int(\m+\n)}
\pgfmathsetmacro{\product}{int(\m*\n)}
\pgfmathtruncatemacro{\Structure}{random(1,4)}
}
\newcommand{\onequestion}
{
\large
\InitVariables
\_\_\_\_\_\_\_\_ \(\times\) \_ \_ \_ \_ \(=\product\) \hspace{4cm} \(\m\times\n=\product\)
\vspace{0.8cm}
\_\_\_\_\_\_\_\_ \(+\) \_ \_ \_ \_ \ \(=\sum\) \hspace{4cm} \(\m+\n=\sum\)
\vspace{1.6cm}
}
\pagestyle{empty}
\newcommand{\onepage}
{
\begin{center} \Huge Integer Pairs\end{center}
\vspace{0.5cm}
\begin{multicols}{2}
\onequestion
\onequestion
\onequestion
\onequestion
\onequestion
\onequestion
\onequestion
\onequestion
\onequestion
\onequestion
\end{multicols}
\pagebreak
}
\begin{document}
\onepage
\onepage
\end{document}
答案1
您将 m 和 n 声明为 -5 到 0 范围内的随机整数,因此显然除非 m=n=0,否则您不会得到 m + n = 0
也许你打算
\pgfmathsetmacro{\m}{int(random(0,10)-5)}
\pgfmathsetmacro{\n}{int(random(0,10)-5)}
所以它们在 -5 到 5 的范围内,或者如果(如你之前的问题)你想避免 0 那么
\pgfmathsetmacro{\m}{int(random(1,5)}
\pgfmathsetmacro{\n}{int(random(1,5)}
所以它们在 1 到 5 的范围内,然后有额外的随机 0 1 随机变量来决定符号