数学オリンピック予選を再現してみた
LaTeX - テンプレート置き場
過去に作成した数オリ風のLaTeXコードが良くできていたので共有します。 ご自由に使ってください。 使用するときは、PDF内じゃなくてもいいので、私の名前とこのサイトのリンクを貼っておいてくれると嬉しいです。 悪用とかはしないでくださいね。
見た目と使用用途
使用例は こんなかんじ です。 問題の内容も一応凝ってあります。 若干幾何の難易度が低いのと、後半の問題の難易度が全般的に優しいかもです。
コピペ用コード
レイアウト等の調整がややゴリ押しですが、許してください...。
\documentclass{ltjsarticle}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usepackage{mdframed}
\usepackage{lipsum}
\usepackage[most]{tcolorbox}
\usepackage{chngcntr}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{subcaption}
\usepackage{caption}
\usepackage{listofitems}
\usepackage{fancyhdr}
\usepackage{pgfplots}
\usepackage{bm}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{setspace}
\usepackage{tabularx}
\usepackage{array} % 配列の高さ調整のため
\usepackage{makecell} % 線の太さを調整するため
\usepackage{multirow}
\begin{document}
\begin{center}
\begin{tcolorbox}[colframe=black, colback=white, boxrule=0.5mm, width=0.65\linewidth, arc=0mm, outer arc=0mm]
\begin{center}
\Huge{2025年}\\
\LARGE{第35回 日本数学オリンピック模試}\\
\LARGE{予 選 問 題}
\end{center}
\end{tcolorbox}
\end{center}
% 1頁に収める都合で行間を設定(0.9倍)
\setstretch{0.9}
\vspace{3.5cm}
\begin{center}
\large{\textbf{受験生への注意事項}}
\end{center}
\\
\noindent \large{試験開始の指示のあるまで,問題は見ないこと.}\\
\noindent \large{分度器・電卓・パソコン・携帯電話,またノートや参考書などの使用は厳禁です.}\\
\noindent \large{携帯電話などの電源は切っておくこと.}\\
\noindent \large{問題は12問,試験時間は3時間です.}\\
\noindent \large{配点は各問1点,合計12点です.}\\
\noindent \large{受験番号・氏名を別紙の答案用紙に記入すること.}\\
\noindent \large{解答は答のみを解答用紙の該当欄に記入すること.}\\
\noindent \large{解答用紙だけを回収します.}\\
\vspace{1.8cm}
% 1頁に収める都合で行間を設定(0.9倍)
\setstretch{1.3}
\begin{center}
2015年1月13日\\
\end{center}
\begin{center}
\LARGE{@Metachick\_2021}
\end{center}
\newpage
% 1頁に収める都合で行間を設定(0.9倍)
\setstretch{1}
\begin{center}
\LARGE{2025年日本数学オリンピック予選模試}
\end{center}
\begin{flushright}
\Large{@Metachick\_2021}\\
\end{flushright}
\begin{center}
\LARGE{問 題}
\end{center}
\large{2025年1月13日 試験時間3時間12題(答のみを記入する)}\\
%なぜか\indentがminipage内では使えないので、仕方なく全角スペースで調節。
\noindent\textbf{1.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
相異なる素数の組 $(p,q,r)$ であって,
$$\sqrt{pq+1}, \ \sqrt{qr+1}$$
が整数となるものを全て求めよ.\\
\end{minipage}
\noindent\textbf{2.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
すべての頂点の $x,y$ 座標が共に整数であるような正方形を\textbf{良い正方形}という。
$0 \leq x \leq 4, \ 0 \leq y \leq 4$ で定まる領域に含まれるような良い正方形の個数を求めよ。\\
\end{minipage}
\noindent\textbf{3.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
$AE \parallel BD, \ AB = EC = ED$ なる凸五角形 $ABCDE$ が
$AE = 3, \ BD = 7, \ \angle BCE = 90^\circ$ をみたすとき,$BC$ の長さを求めよ.\\
\end{minipage}
\noindent\textbf{4.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
正整数 $n$ に対して、$f(n)$ を $n$ の $200$ 以下の約数の個数とする.
このとき,
$$f(1) + f(2) + \cdots + f(1000)$$
を計算せよ.\\
\end{minipage}
\noindent\textbf{5.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
$a,b,c$ を正の実数とする.
このとき、
$$\frac{6a + b + 2c}{a + 3b + 2c} + \frac{2a - 2b + 3c}{2a + 3b + c} + \frac{8a + 7b + 6c}{5a + b + 3c}$$
の最小値を求めよ.\\
\end{minipage}
\noindent\textbf{6.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
正五角形 $ABCDE$ の内部の点 $P$ が $\angle BPA = 84^\circ, \ \angle PAE = 54^\circ$ を満たした.
このとき,$\angle BDP$ の大きさを求めよ.\\
\end{minipage}
\noindent\textbf{7.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
$r \times t$ の長方形のマス目に以下の条件を満たすように $0,1,2$ のいずれかの整数を書き込む方法の総数を求めよ.
\begin{itemize}
\item 左右に隣り合う二つのマス目について,左のマスに書かれた数字は右のマス目に書かれた数字以上である.
\item 上下に隣り合う二つのマス目について,上のマスに書かれた数字は下のマス目に書かれた数字以上である.\\
\end{itemize}
\end{minipage}
% 1頁に収める都合で行間を設定(0.9倍)
\setstretch{0.9}
\noindent\textbf{8.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
整数係数多項式 $P,Q,R$ が,任意の実数 $x$ に対して
$$P(x)^2 + Q(x)^2 = R(x)^2 + \frac{5}{6}Q(x)R(x)$$
を満たす.
さらに,$R(0) = 36$ が成り立ち,$P(x)$ が相異なるとは限らない整数 $\alpha,\beta$ を用いて $P(x) = (x - \alpha)(x - \beta)$ の形で表現されるとき,$P(x),Q(x),R(x)$ の組としてありうるものを全て求めよ.\\
\end{minipage}
\noindent\textbf{9.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
黒板に $A_1,A_2,A_3,\cdots,A_{10}$ の10文字が左から順に書かれている.
いま,黒板に書かれた10文字に対して以下の操作を行う.
\begin{itemize}
\item 操作1:黒板に書かれた10文字の順番を好きなように並び替える.
\item 操作2:黒板に書かれた10文字の左から奇数番目の文字すべてについて,その右隣の文字と入れ替える.
\item 操作3:操作1で行った並べ替えと逆の並べ替えを行う.すなわち,操作1によって $i$ 番目に書かれていた文字が $j$ 番目に移ったのなら,操作3ではその時点で $j$ 番目に書かれている文字が $i$ 番目に移る.
\end{itemize}
操作1,2,3を終えた時点で黒板に書かれている文字列としてありうるものの総数を求めよ.\\
\end{minipage}
\noindent\textbf{10.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
$AB=5, BC=7, CA=8$ を満たす三角形 $ABC$ において,辺 $BC,CA,AB$ と内接円の接点をそれぞれ $D,E,F$ とする.
$A$ から線分 $EF$ へ下した垂線の足を $P$、$E$ から線分 $BC$ へ下した垂線の足を $Q$、$F$ から線分 $BC$ へ下した垂線の足を $R$ とする.
点 $D$ から線分 $PQ,PR$ へ下した垂線の足をそれぞれ $X,Y$ とするとき,$\frac{DY}{DX}$ の値を求めよ.\\
\end{minipage}
\noindent\textbf{11.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
正整数に対して定義され,正整数値をとる関数 $f$ が,任意の正整数 $m, n$ に対して
$$f(m+n+1) = f(m)f(n) + f(m+1)f(n+1)$$
を満たす.このような $f$ のうち,$\left| f(4) - 10^6 \right|$
が最も小さくなるものすべてについて,
$\frac{f(1012)}{f(1010)}$
の整数部分の値を求めよ.\\
\end{minipage}
\noindent\textbf{12.}\hspace{0.3em}
\begin{minipage}[t]{\textwidth}
正十二面体の頂点の一つを $X$ とし,中心に関して $X$ と対称な頂点を $Y$ とする.
カタツムリ君は,$X$ からスタートして,辺で結ばれた頂点に移動することを
$10000$ 回繰り返す.ここで,直前にいた頂点に引き返すことも可能である.
このとき,以下の条件を満たす移動方法の総数を,素数 $5003$ で割ったあまりを求めよ.\\
条件:一度も $X$ に戻らず,かつ $10000$ 回目の移動で初めて $Y$ に到達する.\\
ただし,回転して一致するような移動方法も異なるものとして数える.\\
\end{minipage}
\newpage
% 1頁に収める都合で行間を設定(0.9倍)
\setstretch{0.8}
\renewcommand{\arraystretch}{2} % 行の高さを調整する倍率
\setlength{\arrayrulewidth}{2pt} % 縦線と横線の太さを2ptに設定
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{minipage}[t]{0.50\textwidth}
\begin{center}
\Large{第35回 日本数学オリンピック予選模試}\\
\vspace{0.3cm}
\LARGE{\textbf{解答用紙}}
\end{center}
\end{minipage}
\hspace{0.01\textwidth} % ここで隙間作成
\begin{minipage}[t]{0.40\textwidth}
\begin{center}
\vspace{-0.75cm} % 上の余白を調整
\begin{tabular}{|m{2cm}|c|c|c|c|c|} % 1列目の幅を3cmに設定
\hline
\centering \rule{0pt}{25pt} 受験番号 & & & & & \\[0pt] % 1行目
\hline
\centering \rule{0pt}{20pt} 氏名 \newline & \multicolumn{5}{c|}{} \\[0pt] % 2行目
\hline
\end{tabular}
\end{center}
\end{minipage}
\hspace{0.09\textwidth} % ここで隙間作成
\vspace{0.3cm}
\begin{center}
\begin{tabularx}{\textwidth}{|Y|Y|Y|}
\Xhline{2pt} % 外枠の上線を太く
\textbf{1} & \textbf{2} & \textbf{3} \\ \Xhline{1.35pt}
\rule{0pt}{50pt} & & \\ \Xhline{2pt} % 外枠の下線を太く
\end{tabularx}
\end{center}
\begin{center}
\begin{tabularx}{\textwidth}{|Y|Y|Y|}
\Xhline{2pt} % 外枠の上線を太く
\textbf{4} & \textbf{5} & \textbf{6} \\ \Xhline{1.35pt}
\rule{0pt}{50pt} & & \\ \Xhline{2pt} % 外枠の下線を太く
\end{tabularx}
\end{center}
\begin{center}
\begin{tabularx}{\textwidth}{|Y|Y|Y|}
\Xhline{2pt} % 外枠の上線を太く
\textbf{7} & \textbf{8} & \textbf{9} \\ \Xhline{1.35pt}
\rule{0pt}{50pt} & & \\ \Xhline{2pt} % 外枠の下線を太く
\end{tabularx}
\end{center}
\begin{center}
\begin{tabularx}{\textwidth}{|Y|Y|Y|}
\Xhline{2pt} % 外枠の上線を太く
\textbf{10} & \textbf{11} & \textbf{12} \\ \Xhline{1.35pt}
\rule{0pt}{50pt} & & \\ \Xhline{2pt} % 外枠の下線を太く
\end{tabularx}
\end{center}
\vspace{0.15cm}
\begin{minipage}[u]{0.35\textwidth}
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|} % 7列の表を定義
\hline
\multicolumn{3}{|c|}{\centering 受験番号} & & & & & \\ % 1行目
\hline
\multicolumn{5}{|c|}{\centering 会場内通し番号} & & & \\ % 2行目
\hline
\end{tabular}
\end{center}
\end{minipage}
\hspace{0.36\textwidth} % ここで隙間作成
\begin{minipage}[u]{0.20\textwidth}
\begin{center}
\begin{tabular}{|c|} % 1列の表を定義
\hline
合計点 \\ % 1行目
\hline
\rule{0pt}{50pt} \\ % 2行目
\hline
\end{tabular}
\end{center}
\vspace{0.25cm}
\end{minipage}
\hspace{0.09\textwidth} % ここで隙間作成
\end{document}