rt.
#include <bits/stdc++.h>
#define getchar()(p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 21, stdin), p1 == p2) ? EOF : *p1++)
char buf[1 << 21], *p1 = buf, *p2 = buf;
using namespace std;
inline
int read() {
int x = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-') f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = (x << 1) + (x << 3) + (ch ^ '0');
ch = getchar();
}
return x * f;
}
const int N = 107;
int n;
double a[N];
int main() {
n = read();
for (int i = 1; i <= n; i++) a[i] = read();
for (int i = 3; i <= n; i++) {
if (fabs(a[i] - a[i - 1] * (a[2] / a[1])) > 0.00000001) {
puts("No");
return 0;
}
}
puts("Yes");
return 0;
}
A了,谁能解释为什么不丢精度。