题目链接: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;
}

本题还算是比较水的题,但是坑很多