hdu 5429 Geometric Progression(高精度)
来源:互联网 发布:手机淘宝在那里改地址 编辑:程序博客网 时间:2024/06/05 03:02
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=5429
解题思路:
官方题解:
判断是否为等比数列,可以检验对所有1<i<nA[i−1]∗A[i+1]=A[i]∗A[i] 是否都成立。
直接高精度也是资词的。
比较简单的方法是选择若干质数(保证乘积大于10200),在模意义下检验。复杂度O(k∗n)。k表示选取的质数个数。
算法思想:正如题解所解释的,只要判断(0,n-1)之间的数,是否符合A[i−1]∗A[i+1]=A[i]∗A[i] 就行了,然后特判等于0的情况就可以了。不过,比赛时候真的很挫,以前写C/C++的时候while里面经常用T--,但是用java里面不能这么写,于是乎,把这句写在了最后面,然而中间有特判,使用了continue;于是乎,赛后仍然wrong了十几次,才发现,原来是这里错了。。。泪奔。。。
AC代码:
import java.math.BigDecimal;import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner sca = new Scanner (System.in); BigDecimal a[] = new BigDecimal[110]; BigDecimal ZERO = BigDecimal.ZERO; int T = sca.nextInt(),t = 1; while(t <= T){ t++; int n = sca.nextInt(); int sum = 0; for(int i = 0; i < n; i++){ a[i] = sca.nextBigDecimal(); if(a[i].equals(ZERO)) sum++; } if(n == 1){ System.out.println("Yes"); continue; } if(sum != 0){ if(sum == n) System.out.println("Yes"); else System.out.println("No"); continue; } int flag3 = 1; for(int i = 1; i < n-1; i++){ if(!(a[i].multiply(a[i])).equals(a[i-1].multiply(a[i+1]))){ flag3 = 0; break; } } if(flag3 == 1) System.out.println("Yes"); else System.out.println("No"); } }}
0 0
- hdu 5429 Geometric Progression(高精度)
- hdu 5429 Geometric Progression(高精度)
- hdu 5429 Geometric Progression(java 高精度+java输入外挂)
- HDU 5429 Geometric Progression
- hdu 5429 Geometric Progression(java 大数)
- 【Java大数】hdu 5429 Geometric Progression
- hdu 5429 Geometric Progression (等比数列判定+大数模板)
- HDU 5429-Geometric Progression(JAVA大数判断等比数列)
- BestCoder Round #54 (div.2)HDU 5429 Geometric Progression(1003)
- HDU 5433/BC 54C Geometric Progression
- codeforce 567c Geometric Progression(map)
- CF Geometric Progression (DP和map)
- HDU 5429 Geometric Progression(大数模板)——BestCoder Round #54(div.1 div.2)
- hash codeforces567C Geometric Progression
- BestCoder Round #54 (div.2) HDOJ 5429 Geometric Progression(模拟)
- Codeforces Round #Pi (Div. 2) C. Geometric Progression (map)
- CodeForces 567C. - Geometric Progression(解题报告)
- Geometric Progression----(BestCoder Round #54 (div.2))
- OptionsMenu创建方式 以及invalidateOptionsMenu
- 欢迎使用CSDN-markdown编辑器
- android开发之记录ListView滚动位置
- HDU 1274 展开字符串(深搜+字符串,显示缩写的字符串)
- 初创企业CEO要优先考虑的5件事
- hdu 5429 Geometric Progression(高精度)
- 搬运工
- nl80211 & cfg80211 库是如何工作的?
- eclipse安装freemarker插件
- paddingStart paddingLeft paddingRight paddingEnd
- javaScript 内置对象六 (Array)
- Processing 教程(8)- 图像处理:抽象椭圆点阵
- HDU 5430 Reflect
- Calendar:计算两个日期相差的天数