题意 : 判断 n 个数组成的序列是否为等比数列;
思路: a[i]a[i] = a[i-1]a[i+1];
代码:
import java.util.Scanner;
import java.math.*;
public class Main {
public static void main(String args[]){
BigDecimal a,b,c;
Scanner cin = new Scanner(System.in);
int t = cin.nextInt();
while(t>0){
t--;
BigDecimal [] ar = new BigDecimal[110] ;
int n = cin.nextInt();
int cnt = 0;
for(int i=0;i<n;i++){
ar[i] = cin.nextBigDecimal();
if(ar[i].equals(BigDecimal.valueOf(0)))
cnt ++;
}
if(n == 1){
System.out.println("Yes");
continue;
}
if(cnt!=0){
if(cnt == n)
System.out.println("Yes");
else
System.out.println("No");
continue;
}
int flag = 1;
for(int i=1;i<n-1;i++){
a = ar[i].multiply(ar[i]);
b = ar[i+1].multiply(ar[i-1]);
if(!a.equals(b)){
System.out.println("No");
flag = 0;
break;
}
}
if(flag == 1)
System.out.println("Yes");
}
}
}