酷代码 AI
菜单
服务商

小核桃挑选了两个砝码,如果它们上面的数字都是质数,并且数字加起来的和是n,就可以打开门。现在告诉你这两个砝码上的数字,请你判断他们能否打开门。 输入: 三个整数,n表示数字加起来的和,x和y分别表示两个砝码的数字。 输出: 如果能打开门就输出"yes",否则输出"no"。 输入样例1: 32 15 17 输出样例1: no 输入样例2: 30 13 17 输出样例2: yes 用时/内存: 1000MS/100MB用C++简答

```cpp #include <iostream> using namespace std; // 判断一个数是否为质数 bool isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; } int main() { int n, x, y; cin >> n >> x >> y; // 判断是否满足条件 if (isPrime(x) && isPrime(y) && x + y == n) { cout << "yes" << endl; } else { cout << "no" << endl; } return 0; } ``` 代码解释 1. `isPrime`函数: - 此函数用于判断一个数是否为质数。 - 若数字小于等于1,直接返回`false`,因为质数定义要求大于1。 - 从2到该数字平方根的范围进行遍历,如果能被整除则不是质数,返回`false`。 - 若都不能被整除,返回`true`。 2. `main`函数: - 读取输入的三个整数`n`、`x`、`y`。 - 判断`x`和`y`是否都是质数,并且它们的和是否等于`n`。 - 根据判断结果输出"yes"或"no"。 [2026-02-07 19:23:17 | AI问答 | 352点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多