C++具有较大值的偶数和奇数检查
C++ even and odd number checking with bigger values
通过使用这一小段代码,我找到了偶数和奇数,但是当我输入数字8888888888(10次)时,我的好奇心越来越大,它给了我奇数答案,同时我再次输入数字88888888(9次),它给了我偶数。任何对此有想法的人。
这是代码:
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
if(a%2==0){
cout<<"even";
}else{
cout<<"odd";
}
}
我在开发C++编译器上检查此代码。谢谢
内置数值类型可以表示的值范围有限。 8888888888
超出了您平台上的int
范围。请参阅标准::numeric_limits。
对于大数字,请使用 long
关键字而不是 int
:即 long a;
.
正如其他人所说,标准的内置类型对于您要做的事情来说还不够大。
我建议你做的是构建一个可以存储大数字的类。最简单的方法(如果您并不真正关心内存使用情况)是将大数字存储为数组中的单独数字。
如果您只想知道数字是偶数还是奇数,那就更容易了:如果您的输入是字符串,您可以拆分最后一个字符并将其更改为整数。这个整数说明了整数是偶数还是奇数。
我希望这有所帮助。
问候, 伤害
在C++的情况下n1 和 n2 是字符串
if((n1[n1.size()-1] * n2[n2.size()-1]) % 2 == 0){
return 1;
}
else{
return 0;
}
相关文章:
- valgrind-hellgrind与泄漏检查的结果不同
- C++模板来检查友元函数的存在
- 检查输入是否不是整数或数字
- 试图让变量检查数组中的某些内容
- 检查值是否在集合p1和p2中,但不在p3中
- C++概念:如何使用'concept'检查模板化结构的属性?
- 概念TS检查忽略私有访问修饰符
- 检查 std::shared_ptr<> 的当前底层类型是否为 T
- 在c++中检查长方体是否尽可能快地重叠(无迭代)
- 如何在C++中检查2D数组中负值的输入验证
- C++:正在检查LinkedList中的回文-递归方法-错误
- 使用for循环检查数组中的重复项
- 如何检查一个c++字符串中有多少相同的字符/数字
- 检查不带转换的扫描格式
- 如何检查线程是否锁定
- 清除前检查矢量
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- C++LDAP检查用户是否是特定组的成员
- 检查TCHAR数组输入是否为带符号整数C++
- 用概念检查属性的类型