复习一下我们前面如何判断奇数
判断一个整数是奇数还是偶数,最常用的方法是利用模运算(%)。模运算符返回除法的余数。对于任何整数n
,当你用n % 2
(n
模2)来计算时,如果结果是0,那么n
就是偶数;如果结果是1,那么n
就是奇数。这是因为所有的偶数都可以被2整除,而奇数则不能。
原理详解:
-
模运算:
a % b
表示a
除以b
的余数。例如,5 % 2
等于1,因为5除以2的商是2,余数是1。 -
偶数的性质:任何偶数都可以表示为2的倍数,即存在某个整数
k
使得n = 2k
。因此,当n
是偶数时,n % 2
的结果将是0,因为n
能够被2完全整除。 -
奇数的性质:任何奇数可以表示为
n = 2k + 1
的形式,其中k
是某个整数。这意味着当n
是奇数时,n % 2
的结果将是1,因为n
除以2后会有一个余数1。
#include <iostream>
using namespace std;bool isEven(int n) {return n % 2 == 0; // 如果n模2等于0,那么n是偶数
}bool isOdd(int n) {return n % 2 != 0; // 如果n模2不等于0,那么n是奇数
}int main() {int number = 15;if (isEven(number)) {cout << number << " 是偶数。" << endl;} else {cout << number << " 是奇数。" << endl;}return 0;
}
要输出1到100内所有奇数和偶数的和,我们可以通过两个for
循环分别计算奇数和与偶数和,或者更高效地,在一个循环中同时处理奇数和偶数。
#include <iostream>
using namespace std;int main() {int oddSum = 0; // 用于存储奇数的和int evenSum = 0; // 用于存储偶数的和for (int i = 1; i <= 100; ++i) {if (i % 2 == 0) { // 如果i是偶数evenSum += i; // 将i加到evenSum上} else { // 如果i是奇数oddSum += i; // 将i加到oddSum上}}cout << "1到100内所有奇数的和为: " << oddSum << endl;cout << "1到100内所有偶数的和为: " << evenSum << endl;return 0;
}
这段代码首先初始化了两个整型变量oddSum
和evenSum
来分别存储奇数和偶数的和。
然后通过一个for
循环遍历1到100的每个数。
在循环体内,使用if
语句检查当前数i
是否为偶数(即i % 2 == 0
)。如果是偶数,则将其加到evenSum
;否则,将其加到oddSum
。
最后,打印出奇数和与偶数和的结果。
有问题我们评论区讨论一下吧!