Skip to content
Author: loop3r
Date: 20260224
tag: 枚举
link: https://www.luogu.com.cn/problem/P1151

问题描述

link

分析

枚举每个数字进行拆分,低三位为 i/100,高三位为 i%1000,中间三位为 i%10000/10,如果 amodk=0bmodk=0cmodk=0,则输出该数字。

参考代码

cpp
#include <bits/stdc++.h>
using namespace std;

int main() {
    int k; cin >> k;

    int cnt = 0;
    for (int i = 10000; i <= 30000; i++) {
        int a = i / 100;
        int b = i % 1000;
        int c = i % 10000 / 10;
        if (a % k == 0 && b % k == 0 && c % k == 0) {
            cout << i << endl;
            cnt++;
        }
    }

    if (!cnt) cout << "No" << endl;

    return 0;
}