top1编程
← 返回题目
题解

【入门】一个六位数

1 条题解

  • 0
    @ 2026-7-30 0:48:47

    解题思路

    原数的个位固定是 7。把个位移到最前面后,新数等于 700000 加上原数去掉个位后的部分。枚举所有个位为 7 的六位数,找到新数是原数 4 倍的那个。

    参考代码

    // 读取题目给出的数据。
    // 按照题意完成计算。
    #include <iostream>
    using namespace std;
    
    int main() {
        for (int n = 100007; n <= 999997; n += 10) {
            // 把个位 7 移到最前面
            int s = 700000 + n / 10;
    
            if (s == 4 * n) {
                cout << n;
                break;
            }
        }
        return 0;
    }
    

    复杂度分析

    这道题最多只进行有限次数的循环,时间复杂度为 O(n);代码只使用了几个变量,空间复杂度为 O(1)。

    • 1