C#判断奇偶数
时间: 2025-07-24 19:29:15 浏览: 10
<think>我们使用引用[2]中的方法:通过取模运算判断。如果一个整数除以2的余数为0,则是偶数;否则是奇数。
另外,引用[4]提到也可以使用按位与运算:用数字和1做按位与运算,如果结果为1则是奇数,为0则是偶数。
我们将提供两种方法,并编写代码示例。
注意:按位与运算在性能上可能略有优势,但取模运算更直观。
根据用户要求,使用C#编写。</think>### C# 判断整数奇偶性的方法
在 C# 中判断一个整数是奇数还是偶数,主要有两种常用方法:
#### 方法 1:取模运算符(推荐)
使用取模运算符 `%` 是最直观的方法:
```csharp
Console.Write("请输入整数:");
int number = int.Parse(Console.ReadLine());
if (number % 2 == 0)
{
Console.WriteLine($"{number} 是偶数");
}
else
{
Console.WriteLine($"{number} 是奇数");
}
```
**原理**:
当整数 $n$ 满足 $n \mod 2 = 0$ 时,说明它能被2整除,即为偶数,数学表示为:
$$ n \equiv 0 \pmod{2} $$
#### 方法 2:位运算(高效)
使用按位与运算符 `&` 进行二进制判断:
```csharp
Console.Write("请输入整数:");
int number = int.Parse(Console.ReadLine());
if ((number & 1) == 0)
{
Console.WriteLine($"{number} 是偶数");
}
else
{
Console.WriteLine($"{number} 是奇数");
}
```
**原理**:
所有偶数的二进制最低位都是0,奇数的二进制最低位都是1。通过 `number & 1` 检查最低位:
$$
\text{偶数} \Rightarrow \text{二进制末位} = 0 \\
\text{奇数} \Rightarrow \text{二进制末位} = 1
$$
#### 完整示例代码
```csharp
using System;
class Program
{
static void Main()
{
Console.Write("请输入整数:");
int num = Convert.ToInt32(Console.ReadLine());
// 方法1:取模运算
if (num % 2 == 0)
Console.WriteLine($"取模判断: {num} 是偶数");
else
Console.WriteLine($"取模判断: {num} 是奇数");
// 方法2:位运算
if ((num & 1) == 0)
Console.WriteLine($"位运算判断: {num} 是偶数");
else
Console.WriteLine($"位运算判断: {num} 是奇数");
}
}
```
### 注意事项
1. **负数处理**:两种方法均适用于负数,因为 C# 的取模运算遵循数学定义,例如 $-4 \mod 2 = 0$[^2]。
2. **性能差异**:位运算 `&` 通常比取模运算 `%` 更快,但可读性稍差[^4]。
3. **输入验证**:实际应用中建议添加 `TryParse` 防止非数字输入:
```csharp
if (!int.TryParse(Console.ReadLine(), out int num))
{
Console.WriteLine("输入无效,请重新输入整数!");
return;
}
```
阅读全文