U280666 求平面夹角的余弦值

题目背景

立体几何是高中数学的重要知识点之一,在高考中也是常考的一种题型。其中,向量作为数学中的重要工具,在解决这类问题的过程中发挥了不可替代的作用。 wzdxx是一名高三生,现在正在复习立体几何模块。但是他发现自己在计算**空间中两个平面夹角余弦值**的时候,总是容易出现错误。因此,他迫切需要一个程序来帮他验算成果,他认为相比于自己的大脑,计算机是更靠谱的。

题目描述

在空间直角坐标系 $O-xyz$ 中,给定两个平面 $A_1x+B_1y+C_1z+D_1=0$ 和 $A_2x+B_2y+C_2z+D_2=0$,请你求出两个平面夹角的**余弦值**。

输入格式

共 $2$ 行,第 $1$ 行 $4$ 个参数 $A_1,B_1,C_1,D_1$,第 $2$ 行 $4$ 个参数 $A_2,B_2,C_2,D_2$,参数的格式见**样例**或**提示说明**。

输出格式

$1$ 行,两个平面夹角的余弦值,格式见**样例**或**提示说明**。

说明/提示

### 参数格式 **简略版**:格式服从高中数学书写分式以及二次根式的规范。(输入的 $8$ 个参数以及化简后的答案均不会出现根式套根式、根式加根式、根式加有理分数等复杂表示。) **详细版**:平面方程中 $8$ 个参数以及输出的余弦值遵循以下格式(以下 $b,t$ 均为正整数,$a$ 是自然数,$sign$表示数的符号,当参数为负数时表示为```'-'```,否则省略不写): $1.$参数是有理数,则表示为 $signa/b$ 的形式(既约分数),若参数是整数,则直接表示为 $signa$; $2.$参数是无理数,则保证可以用二次根式表示。若 $b\ne 1$ ,则表示为 $signart/b$,如果 $b=1$ ,则直接表示为 $signart$ 。( $a,b$ 互质,且 $rt$ 为最简根式) 注意两个平面的夹角的余弦值范围是 $[0,1]$。 ### 提示 $1.$平面 $Ax+By+Cz+D=0(A^2+B^2+C^2\ne 0)$ 的一个法向量是 $(A,B,C)$ ; $2.$两个空间向量 $(x_1,y_1,z_1)$ 和 $(x_2,y_2,z_2)$ 的夹角 $\theta$ 的余弦值为 $$cos \theta=\frac{x_1x_2+y_1y_2+z_1z_2}{\sqrt{x_1^2+y_1^2+z_1^2}\sqrt{x_2^2+y_2^2+z_2^2}}$$ ### 数据范围 对于 $30\%$ 的数据, $8$ 个平面方程参数均为整数;\ 对于 $60\%$ 的数据, $8$ 个平面方程参数均为有理数;\ 对于 $100$\% 的数据, $8$ 个平面方程参数均满足 $a,b,t\le 30$ 。 保证答案中的 $a,b,t$ 均在 int 范围内。 ------------ $update$ $2023.2.18$:对于**参数格式**,增加了简略版说明;同时按照原有数据范围比例,在原有的 $10$ 个测试集的基础上新增 $10$ 个测试集。新增的测试集中,分母的最小公倍数将会有一定的提升,甚至三个分母两两互质。