Geometric Progression----(BestCoder Round #54 (div.2))
来源:互联网 发布:做淘宝怎么提高销量 编辑:程序博客网 时间:2024/06/03 21:58
Geometric Progression
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
判断一个数列是否为等比数列。在数学中,等比数列,是一个数列,这个数列中的第一项之后的每一项是前一项乘上一个固定的非零实数(我们称之为公比)。比如,数列 2, 6, 18, 54, ... 是一个公比为3的等比数列。 类似的,10,5,2.5,1.25,...是一个公比为0.5的等比数列。等比数列的一般形式是:a,ar,ar2,ar3,ar4,...其中r!=0,r为公比,a是首项(a可以是任何实数)
输入描述
第一行一个整数T,表示数据组数。T≤20对于每一个组,第一行一个整数n(1≤n≤100),接下来第二行n个数允许前导零的非负整数Ai,表示数列。保证Ai位数≤100。
输出描述
对于每一个组,输出Yes或者No。
输入样例
41031 1 131 4 2516 8 4 2 1
输出样例
YesYesNoYes
题意:判断一个数列是否为等比数列。注意:大数范围内。
思路:检验对所有1 < i < n \quad A[i-1]*A[i+1]=A[i]*A[i]1<i<nA[i−1]∗A[i+1]=A[i]∗A[i] 是否都成立。
坑点:根据思路检查,忽略了前面为0的情况,如0 0 0 4.根据思路写程序,会输出Yes,需要特殊处理一下。
CODE:(java)
import java.math.*;import java.io.*;import java.util.*;public class Main { public static void main(String[] args) { Scanner cin=new Scanner(System.in); BigInteger[] a=new BigInteger[105]; int t; t=cin.nextInt(); while(t-->0){ int n,cnt=0; n=cin.nextInt(); for(int i=0;i<n;i++){ a[i]=cin.nextBigInteger(); if(a[i].equals(BigInteger.ZERO)) cnt++; } if(cnt>0&&cnt!=n) System.out.println("No"); else{ boolean flag=true; for(int i=1;i<n-1;i++){ BigInteger A,B; A=a[i].multiply(a[i]); B=a[i-1].multiply(a[i+1]); if(!A.equals(B)) flag=false; } if(flag) System.out.println("Yes"); else System.out.println("No"); } } }}
0 0
- Geometric Progression----(BestCoder Round #54 (div.2))
- BestCoder Round #54 (div.2) HDOJ 5429 Geometric Progression(模拟)
- BestCoder Round #54 (div.2)HDU 5429 Geometric Progression(1003)
- BestCoder Round #54 (div.2) HDU5329 Geometric Progression
- HDU 5429 Geometric Progression(大数模板)——BestCoder Round #54(div.1 div.2)
- Codeforces Round #Pi (Div. 2) C. Geometric Progression (map)
- Codeforces Round #Pi (Div. 2) C. Geometric Progression dp
- Codeforces Round #Pi (Div. 2) C. Geometric Progression
- C. Geometric Progression- Codeforces Round #Pi (Div. 2)-
- Codeforces Round #Pi (Div. 2) —— C-Geometric Progression
- Codeforces Round #Pi (Div. 2)567C Geometric Progression(map暴力)
- Codeforces Round #Pi (Div. 2)567C Geometric Progression(dp + map)
- BestCoder Round #54 (div.2)
- hdu5427(BestCoder Round #54 (div.2)1001题)
- hdu5428(BestCoder Round #54 (div.2)1002题)
- hdu5430(BestCoder Round #54 (div.2)1004题)
- hdu5429(BestCoder Round #54 (div.2) 1003题)
- BestCoder Round #54 (div.2)(hdu5427,hdu5428,hdu5429,hdu5430)
- C/C++ 位域
- 原码,补码表示
- C中signed与unsigned
- C语言变参问题
- C++ new(1)
- Geometric Progression----(BestCoder Round #54 (div.2))
- C++ new(2)
- C++ new(3)
- LoaderManager的理解
- 约瑟夫环问题
- C++STL之迭代器
- C++STL之迭代器2
- 支付宝接口开发
- 机器学习 之 贝叶斯分类(下)