---
title: Saas44786. 6 个 0
author: 萑澈
pubDatetime: 2025-03-23T00:00:00Z
featured: false
draft: false
printable: true
tags:
  - 蓝桥杯
  - 算法
  - python
  - 算法基础
  - 进制转换
description: Saas44786. 6 个 0
---
### 问题描述

请找到一个大于 2022 的最小数，这个数转换成二进制之后，最低的 6 个二进制位全为 0 。

请将这个数的十进制形式作为答案提交。

### 答案提交

本题为一道结果填空的题，只需要算出结果后，在代码中使用输出语句将结果输出即可。
### 代码
1. **确定倍数条件**：二进制最低六位全为 0，等价于该数为 64 的倍数（64 = 2⁶）。
2. **计算最近的 64 倍数**：
    - 2022 ÷ 64 ≈ 31.59375，整数部分为 31。
    - 下一个整数为 32，对应 64 × 32 = 2048。
3. **验证条件**：
    - 2048 > 2022，满足大小要求。
    - 2048 的二进制为`100000000000`，最低六位（最后六个 0）全为 0。

因此，符合条件的数是**2048**。


```python
n = 2022
# 最低6位全0意味着是64的倍数（2^6=64）
result = (n // 64 + 1) * 64
print(result)
```
#### **步骤 1：计算 `n // 64`**

- **作用**：将 `n` 除以 64 并向下取整，得到 `n` 中包含多少个完整的 64。
- **示例**：当 `n = 2022` 时：$2022÷64≈31.59375⇒2022//64=31$这表示 `2022` 中包含 **31 个完整的 64**。
#### **步骤 2：`+ 1`**

- **作用**：找到下一个完整的 64 的倍数。
- **示例**：`31 + 1 = 32`，表示需要找到第 **32 个 64 的倍数**。

#### **步骤 3：`* 64`**

- **作用**：将倍数转换为实际的十进制值。
- **示例**：`32 * 64 = 2048`，即下一个满足条件的数是 **2048**。
### 答案
2048