1 条题解

  • 0
    @ 2026-1-28 18:28:32
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n;
        cin >> n; // [1] 读取输入的正整数n
        int flag = 1; // [2] 初始化标记,1表示默认是质数
        int min_num = 0; // [3] 初始化最小约数为n本身
        // [4] 从2开始检查到sqrt(n),寻找最小约数
        for(int i=2; i*i <= n; i++){
            if(n % i == 0){
                flag = 0; // [5] 找到约数,标记为非质数
                min_num = i; // [6] 记录最小的约数
                break; // [7] 找到后立即退出循环
            }
        }
        // [8] 根据标记输出结果
        if(flag){
            cout << "Yes";
        } else {
            cout << min_num;
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1185
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者