SP1865 MKWAVES - Making Waves

题目描述

已知一个信号是由函数 $x \sin(f_1 t) \sin(f_2 t)$ 生成,其中 $f_1$ 和 $f_2$ 是两个独特的频率,分别是400到600 Hz范围内的整数,$t$ 表示时间。我们会给出该函数在几个均匀时刻的N个样本值,时刻为 $t = 1/N$ 秒、$t = 2/N$ 秒等。你的任务是从这些样本中找出 $f_1$ 和 $f_2$ 的具体值。 例如,若 $f_1 = 400$ Hz,$f_2 = 500$ Hz,$N = 100$,那么第一个样本的时间点为 $t = 1/100$ 秒,此时样本值为 $\sin(4) \sin(5) \approx 0.156912$。同样,第二个样本的时间点为 $t = 2/100$ 秒,其样本值为 $\sin(8) \sin(10) \approx 0.312821$。

输入格式

输入由多个测试用例组成。每个用例以一个不超过 1000 的整数 $N$ 开头,表示信号样本的数量。接着是 $N$ 个实数,代表在上述时刻的信号样本。输入的最后是一个整数 0,标志着输入的结束。 保证每个用例中提供的样本数量足够多,可以计算出正确的结果。

输出格式

对于每个用例,输出一行,格式如下: `Case 1, f1 = 400, f2 = 500`

说明/提示

- $400 \leq f_1, f_2 \leq 600$ - $1 \leq N \leq 1000$ **本翻译由 AI 自动生成**