繁体   English   中英

如何查找大数是偶数还是奇数?

[英]How to find if a large Number is even or odd?

我被问到一个面试问题。如何找到一个非常大的数字(超过双倍的范围)是奇数还是偶数?

我回答说:将数字存储在数组中,找出最后一位数是否可被2整除。

public static boolean isEven(int[] verLargeNum)
{
    int size=verLargeNum.length;
    if(verLargeNum[size-1]%2!=0)
        return true;
    else
        return false;
}

我的问题是:有更好的方法吗?

如果你的号码没有小数部分,你可以简单地做一点操作

If(MyBigNumber & 0x1) {
     odd
} else {
    even
}

您的答案看起来是正确的,替代方式:由于他们没有指定非常大的数字是否具有原始类型,您可以假设该数字充当int,double,long等...

String largeNumber = VERY_LARGE_NUMBER + "";
boolean isEven(String input){
    return Integer.parseInt(input.charAt(input.length()-1)+"")%2 == 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM