【Java大数】hdu 5429 Geometric Progression
来源:互联网 发布:pokemon虚拟定位软件 编辑:程序博客网 时间:2024/06/05 09:36
Source : hdu 5429 Geometric Progression
http://acm.hdu.edu.cn/showproblem.php?pid=5429
Problem Description
Determine whether a sequence is a Geometric progression or not.
In mathematics, a geometric progression, also known as a geometric sequence, is a sequence of numbers where each term after the first is found by multiplying the previous one by a fixed, non-zero number called the common ratio. For example, the sequence 2, 6, 18, 54, … is a geometric progression with common ratio 3. Similarly 10, 5, 2.5, 1.25, … is a geometric sequence with common ratio 1/2.
Examples of a geometric sequence are powers rk of a fixed number r, such as 2k and 3k. The general form of a geometric sequence is
a, ar, ar2, ar3, ar4, …
where r ≠ 0 is the common ratio and a is a scale factor, equal to the sequence’s start value.
Input
First line contains a single integer T(T≤20) which denotes the number of test cases.
For each test case, there is an positive integer n(1≤n≤100) which denotes the length of sequence,and next line has n nonnegative numbers Ai which allow leading zero.The digit’s length of Ai no larger than 100.
Output
For each case, output “Yes” or “No”.
题意
给n个数,判断能否构成等比数列(注意数的范围)
示例
Sample Input
4
1
0
3
1 1 1
3
1 4 2
5
16 8 4 2 1
Sample Output
Yes
Yes
No
Yes
思路
大数据,我用的JAVA!
参考代码
import java.io.*;import java.util.*;import java.math.*;public class Main{ static BigInteger []a = new BigInteger [110]; static BigInteger zero = BigInteger.ZERO; public static void main(String[] args){ Scanner cin = new Scanner(System.in); int T = cin.nextInt(); while(T-- >0){ int n = cin.nextInt(); boolean has0 = false,all0 = true; for(int i = 0; i < n; ++ i){ a[i] = cin.nextBigInteger(); if(a[i].compareTo(zero) == 0) has0 = true; else all0 = false; } if(all0 == true){System.out.println("Yes");continue;} if(has0 == true){System.out.println("No");continue;} boolean ok = true; for(int i = 2; i < n; ++ i){ if(a[i-1].multiply(a[i-1]).equals(a[i-2].multiply(a[i])) == false) { ok = false; break; } } if(ok) System.out.println("Yes"); else System.out.println("No"); } }}
- 加粗
Ctrl + B
- 斜体
Ctrl + I
- 引用
Ctrl + Q
- 插入链接
Ctrl + L
- 插入代码
Ctrl + K
- 插入图片
Ctrl + G
- 提升标题
Ctrl + H
- 有序列表
Ctrl + O
- 无序列表
Ctrl + U
- 横线
Ctrl + R
- 撤销
Ctrl + Z
- 重做
Ctrl + Y
- hdu 5429 Geometric Progression(java 大数)
- 【Java大数】hdu 5429 Geometric Progression
- HDU 5429-Geometric Progression(JAVA大数判断等比数列)
- HDU 5429 Geometric Progression
- hdu 5429 Geometric Progression (等比数列判定+大数模板)
- hdu 5429 Geometric Progression(高精度)
- hdu 5429 Geometric Progression(java 高精度+java输入外挂)
- HDU 5429 Geometric Progression(大数模板)——BestCoder Round #54(div.1 div.2)
- hdu 5429 Geometric Progression(高精度)
- BC - Geometric Progression (等比数列的性质 + java大数)
- BestCoder Round #54 (div.2)HDU 5429 Geometric Progression(1003)
- HDU 5433/BC 54C Geometric Progression
- Geometric Progression(等比数列的判断+java大数(同时附上别人很完美的C++大数模板))
- hash codeforces567C Geometric Progression
- BestCoder Round #54 (div.2) HDOJ 5429 Geometric Progression(模拟)
- 等比级数(geometric progression) 和等差数列
- CF-567C - Geometric Progression
- CodeForces #Pi C.Geometric Progression
- 零基础学python-16.6 嵌套作用域
- hdoj 1754 I Hate It【线段树】
- java设计模式第9弹--代理模式
- 类的高级概念
- java线程安全的集合类
- 【Java大数】hdu 5429 Geometric Progression
- jsp的application使用案例
- ajax 笔记
- 杭电acm--2026
- 【LeetCode 232: Implement Queue using Stacks】
- Android开发-Activity(二)
- 概率论与数理统计笔记(一): 样本空间 随机事件
- 在android 4.2.2上调试MU609步骤,WCDMA
- Geoprocessor 裁切