hdu 5429 Geometric Progression 高精度浮点数(java版本)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5429
题意:给一段长度不超过100的每个数字(可以是浮点数)的长度不超过1000的序列,问这个序列是否是一个等比数列;
等比数列以第一个数为首项,并且r != 0,一个坑点
之前我写的hdu1002的高精度在这里不能用的,因为我的高精度里面还只能是正整数,这时直接使用java的BigDecimal即可;
ps:特别要注意 1 0这个序列不是等比序列!还有 大数比较是否相等,要使用函数,不能使用==,==是判断两个对象是否是一个对象
java时间很慢,并且空间很大啊。。343MS 11104K
import java.math.*;
import java.util.*; public class Main { public static void main(String[] args)throws Exception {
BigDecimal[] bigDecimals = new BigDecimal[3];
int n,T;
Scanner scanner = new Scanner(System.in);
T = scanner.nextInt();
while(T-- > 0){
n = scanner.nextInt();
boolean flag = true;
int num = 0;
for(int i = 1;i <= n;i++){
bigDecimals[i%3] = scanner.nextBigDecimal();
if(i > 2 && flag){
BigDecimal a = bigDecimals[(i-1)%3].multiply(bigDecimals[(i-1)%3]);
BigDecimal b = bigDecimals[(i-2)%3].multiply(bigDecimals[i%3]);
if(a.compareTo(b) != 0){
flag = false;
}
}
if(bigDecimals[i%3].compareTo(BigDecimal.valueOf(0)) == 0) num++;
if(num > 0 && num != i)
flag = false;
}
System.out.println(flag?"Yes":"No");
} } }
hdu 5429 Geometric Progression 高精度浮点数(java版本)的更多相关文章
- hdu 5278 Geometric Progression 高精度
		Geometric Progression Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contes ... 
- hdu 5429 Geometric Progression(存个大数模板)
		Problem Description Determine whether a sequence is a Geometric progression or not. In mathematics, ... 
- HDU 5429  Geometric Progression
		题意:给出一个大数数列,问是不是等比数列. 解法:拿java大数搞,注意全是0的情况也是Yes.我把公比用分数表示了,灰常麻烦,题解说只要判a[i - 1] * a[i + 1] == a[i] * ... 
- Java 高精度浮点数计算工具
		说起编程中的高精度数值,我第一反应就是double类型了.的确,double阶码11位,尾数52位,几乎能应对任何苛刻的要求......然而,当我天真地尝试用double来算泰勒展开式的函数值,离散代 ... 
- Atitit. 图像处理jpg图片的压缩  清理垃圾图片 java版本
		Atitit. 图像处理jpg图片的压缩 清理垃圾图片 java版本 1. 清理图片压缩图片尺寸 1 2. 所以要使用ImageWriter 1 3. Thumbnails质量压缩builder.o ... 
- HDU 1023 Catalan数+高精度
		链接:HDU 1023 /**************************************** * author : Grant Yuan * time : 2014/10/19 15:5 ... 
- Java版本:识别Json字符串并分隔成Map集合
		前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ... 
- 你的程序支持复杂的时间调度嘛?如约而来的 java 版本
		你的程序支持复杂的时间调度嘛? 这篇文章介绍了时间适配器的c#版本,是给客户端用的,服务器自然也要有一套对应的做法,java版本的 [年][月][日][星期][时间] [*][*][*][*][*] ... 
- 崔用志-微信开发-java版本
		崔用志-微信开发-java版本 今天看到一些关于微信开发的知识蛮好的博客,分享给大家,希望对大家有帮助. 微信开发准备(一)--Maven仓库管理新建WEB项目 微信开发准备(二)--springmv ... 
随机推荐
- excel vba 打印设置(转)
			FROM: http://hi.baidu.com/kdlipm/blog/item/0897dd16ffc03e59f3de32ab.html PageSetup 函式就會記錄時, 設定的記錄三個部 ... 
- OAuth 2 Developers Guide--reference
			Introduction This is the user guide for the support for OAuth 2.0. For OAuth 1.0, everything is diff ... 
- HTTP层 —— 路由
			1.基本路由 最基本的 Laravel 路由只接收一个 URI 和一个闭包,并以此提供一个非常简单且优雅的定义路由方法: Route::get('foo', function () { return ... 
- js 刷新页面自动回到顶部
			<script type="application/x-javascript"> addEventListener("load", function ... 
- JDK Tools - jps: JVM 进程状态工具
			jps(Java Virtual Machine Process Status Tool) 是 JDK 提供的一个显示当前所有 Java 进程实例的命令. 命令格式 jps [ options ] [ ... 
- sqlserver 理解文件和文件组
			在sqlserver中,数据库在硬盘的存储方式和普通文件存储一样,仅仅几个文件而已,sqlserver通过管理逻辑上的文件组的方式来管理存储数据的文件, 如图: 文件组管理着磁盘上的文件,而文件中存放 ... 
- kettle  Argument, Parameter, Variable
			1. Argument, Parameter, Variable 的区别 a.Argument作为位置参数不能复用,而其他2个可以根据名称重复使用 b. Argument, Parameter作用域局 ... 
- Java_Web___字符串转码String.getBytes()和new String()——(转)
			转载自:http://zhuhuide2004.iteye.com/blog/562739:转载请注明原作者地址: 在Java中,String.getBytes(String decode)方法会根据 ... 
- make fontconfig 时出现No package ‘libxml-2.0′ found的解决方法
			这里显示一个错误信息:checking for LIBXML2… configure: error: Package requirements (libxml-2.0 >= 2.6) were ... 
- 中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030
			中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030 内容详见: http://www.360doc.com/content/11/1004/12/6139921_1 ... 
