- 郑俊城 的博客
一段排位赛第二场(第三题)题解
- 2022-5-8 20:18:27 @
题目链接:T1157
【考点】
1:素数的判断
2:循环嵌套
【方法】
1:构造一个prime函数判断素数
2:打for循环,当prime(j)和prime(i - j)都为true时,打印结果
【代码】
#include<bits/stdc++.h>
using namespace std;
bool prime(int n){
// 当n < 2时,返回false
if(n < 2){
return false;
}
for(int i = 2;i <= floor(sqrt(n));i++){
// n能被i整除,则不是素数
if(n % i == 0){
return false;
}
}
return true;
}
int main(){
// 优化1:只枚举偶数(i += 2)
for(int i = 6;i <= 100;i += 2){
// 优化2:从3开始
for(int j = 3;j <= (i / 2);j++){
// j和i - j都为素数,则输出
if(prime(j) && prime(i - j)){
// 这种输出用printf更方便快捷
printf("%d=%d+%d\n", i, j, i - j);
break;
}
}
}
return 0;
}
本题还算是比较水的题,但是坑很多