我被问到一个面试问题。如何找到一个非常大的数字(超过双倍的范围)是奇数还是偶数?
我回答说:将数字存储在数组中,找出最后一位数字是否可以被2整除。
public static boolean isEven(int[] verLargeNum)
{
int size=verLargeNum.length;
if(verLargeNum[size-1]%2!=0)
return true;
else
return false;
}
我的问题是:有更好的方法吗?
答案 0 :(得分:3)
如果你的号码没有小数部分,你可以简单地做一点操作
If(MyBigNumber & 0x1) {
odd
} else {
even
}
答案 1 :(得分:0)
您的回答看起来是正确的,替代方式: 由于他们没有指定非常大的数字是否具有原始类型,您可以假设该数字充当int,double,long等......
String largeNumber = VERY_LARGE_NUMBER + "";
boolean isEven(String input){
return Integer.parseInt(input.charAt(input.length()-1)+"")%2 == 0;
}