C - Coprime 2

分解质因数,对于 x [1, m],来说,任意一个质因数的倍数及其本身都与题目中给定的数的最大公约数,至少有一个不是1

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
bool st[N], vis[N];
int p[N], ans[N], d[N];

int main()
{
    ans[1] = 1;
    int n, m, cnt = 1, w = 0;
    scanf("%d %d", &n, &m);

    for (int i = 0; i < n; i++) {
        int x;
        cin >> x;

        for (int i = 2; i <= x / i; i++) {
            if (x % i == 0) {
                st[i] = 1;
                while (x % i == 0)
                    x /= i;
            }
        }
        if (x > 1)
            st[x] = 1;
    }
    for (int i = 1; i <= m; i++) {
        for (int j = 2 * i; j <= m; j += i) {
            if (st[i] == 1)
                st[j] = 1;
        }
    }
    for (int j = 2; j <= m; j++) {
        if (!st[j])
            ans[++cnt] = j;
    }
    printf("%d\n", cnt);
    for (int i = 1; i <= cnt; i++)
        printf("%d\n", ans[i]);
    return 0;
}
posted @   Flying_bullet  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示