# CalculatorSolver **Repository Path**: colin_31/calculator-solver ## Basic Information - **Project Name**: CalculatorSolver - **Description**: 项目核心在于利用题目提供的函数从零开始迭代,生成特定值和数字形式,并求解其最短迭代次数。 项目利用数据结构与算法的知识,通过Dijkstra算法优化了最短迭代次数的求解,并运用数论知识,发现并运用了特殊的函数结构,得出了可迭代生成数及其最短迭代次数的一般结论。 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-03 - **Last Updated**: 2025-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CalculatorSolver ### 介绍 项目核心在于利用题目提供的函数从零开始迭代,生成特定值和数字形式,并求解其最短迭代次数。 项目利用数据结构与算法的知识,通过Dijkstra算法优化了最短迭代次数的求解,并运用数论知识,发现并运用了特殊的函数结构,得出了可迭代生成数及其最短迭代次数的一般结论。 ### 功能特性 - **双模式支持**:角度制 / 弧度制一键切换。 - **高效算法**:基于 Dijkstra 的多源最短路径 + 状态压缩。 - **完整论文**:含数学证明、复杂度分析与算法思路。 - **一键运行**:基于C++17的STL,无需依赖,开箱即用。 ### 项目结构 SHMPC-CalculatorSolver/ ├─ src/ │ └─ solver.cpp ├─ docs/ │ ├─ 闵行中学核心小队_关于特殊计算器求值问题的研究.pdf │ └─ 关于特殊计算器求值问题的研究.pdf ├─ README.md └─ LICENSE ### 项目运行: ```bash # 编译(需 C++17) g++ src/solver.cpp -o solver -std=c++17 -O2 # 角度制(默认) ./solver # 弧度制 ./solver -radian ``` ### 输出示例: 程序会自动计算 L(1) 到 L(200) 的最小按键次数之和,并打印如下形式的详细路径: ```tex $$ \begin{flalign} & L(45) \le 2 & \\ & 0 \xrightarrow{exp} 1 \xrightarrow{atan} 45 & \\ \end{flalign} $$ ```