您的位置:首页 > 编程语言 > Java开发

刷题有感,java的大整数包运算

2016-07-18 20:11 405 查看
今天刷题,碰到了一题关于大整数的题目,本来打算用c++写的,后来得知java的math包里包含很多大整数的运算,这样就可以了。于是决定用java来写。

题目是这样的:

给定三条边,请你判断一下能不能组成一个三角形。



输入描述:

输入包含多组数据,每组数据包含三个正整数a、b、c(1≤a, b, c≤10^100)。



输出描述:

对应每一组数据,如果它们能组成一个三角形,则输出“Yes”;否则,输出“No”。



输入例子:

1 2 3
2 2 2



输出例子:

No
Yes

程序是这样写的:

import java.util.Scanner;
import java.math.*;
public class Main
{
public static void main(String args[])
{
//System.out.println("Hello World!");
Scanner sc = new Scanner(System.in);

while(sc.hasNext())
{
BigInteger a = sc.nextBigInteger();
BigInteger b = sc.nextBigInteger();
BigInteger c = sc.nextBigInteger();
if(a.add(b).compareTo(c)>0&&a.add(c).compareTo(b)>0&&b.add(c).compareTo(a)>0)
{
System.out.println("Yes");
}
else
System.out.println("No");
}
}
}


这样就可以把原来很复杂的c语言的大整数的写法很简单的用java写出来。
有关java的大整数的包的一些函数的用法可参考:

http://www.yiibai.com/java/math/java_math_biginteger.html

对于java的包的使用还是很少,以后要多写代码。多用,才会知道一些包里面的函数的使用方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: