使用更大的值检查C ++偶数和奇数

时间:2017-01-06 19:24:24

标签: c++

通过使用这段小代码,我找到了偶数和奇数,但是当我输入数字8888888888(10次)时我的好奇心增长了,它同时给我回答奇数我再次输入数字88888888(9次) )它给了我偶数。任何人都有这个想法。

以下是代码:

#include<iostream>
using namespace std;

int main(){
    int a;
    cin>>a;
    if(a%2==0){
        cout<<"even";
    }else{
        cout<<"odd";
    }
}

我在Dev C ++编译器上检查了这段代码。谢谢

2 个答案:

答案 0 :(得分:3)

内置数字类型可以表示有限的值范围。 8888888888超出了您平台上int的范围。请参阅std::numeric_limits

答案 1 :(得分:0)

正如其他人所说,标准的内置类型不足以满足您的目的。

我建议你做的是建立一个可以存储大数字的课程。最简单的方法(如果你真的不关心内存使用情况)是将大数字存储为数组中的单独数字。

如果您只想知道数字是偶数还是奇数,那就更容易了: 如果您的输入是一个字符串,您可以拆分最后一个字符并将其更改为整数。这个整数表示整数是偶数还是奇数的所有内容。

我希望这会有所帮助。

问候,伤害