1 条题解
-
0
#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
- 上传者