大数据之大数相减
发布时间:2020-12-14 03:09:18 所属栏目:大数据 来源:网络整理
导读:描述 A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧。 现在有两个实数A和B,聪明的你,能不能判断出A-B的值是否等于0呢? 输入 有多组测试数据。每组数据包括两行,分别代表A和B。 它们的位数小于100 每个数字前面和后面都可能有多余
描述 A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧。 现在有两个实数A和B,聪明的你,能不能判断出A-B的值是否等于0呢? 输入 有多组测试数据。每组数据包括两行,分别代表A和B。 输出 对于每组数据,输出一行。 1.0 2.0 样例输出 YES
代码如下: import java.util.Scanner;
/** * Created by lcc on 2017/6/5. */
public class AjianB {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String str1 = input.next();
String str2 = input.next();
String[] str1a = str1.split("."); //这样就变成2个大数相减的问题了
String[] str2b = str2.split(".");
boolean zhengshu = xiangjiann(str1a[0],str2b[0]);
boolean xiaoshu = xiangjiann(str1a[1],str2b[1]);
if(zhengshu && xiaoshu) {
System.out.print("true");
} else {
System.out.print("false");
}
}
public static boolean xiangjiann(String a,String b) {
int changdu = a.length() - b.length() > 0 ? a.length() : b.length();
int[] aint = new int[changdu]; //利用数组默认为0 排除多余0或者少0的干扰
int[] bint = new int[changdu];
for (int i1 = 0; i1 < a.length(); i1++) {
aint[a.length() - 1 - i1] = Integer.parseInt(a.substring(i1,i1 + 1));
}
for (int i1 = 0; i1 < b.length(); i1++) {
bint[b.length() - 1 - i1] = Integer.parseInt(b.substring(i1,i1 + 1));
}
for (int i = 0; i < changdu; i++) {
if (aint[i] != bint[i]) {
return false;
}
}
return true;
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |