题解:牛客周赛 Round 52 A
A 两数之和
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
Special Judge, 64bit IO Format: %lld
题目描述
对于给定的正整数 \(z\) ,你需要寻找两个不同的正整数 \(x\) 和 \(y\) ,使得 \(x+y=z\) 成立。
如果不存在这样的 \(x\) 和 \(y\) ,你只需要输出 NO
。
输入描述:
在一行上输入一个整数 \(z\ (1 \le z \le 2 \cdot 10^5)\)。
输出描述:
如果存在符合要求的答案,你需要先输出 YES
,随后在第二行上输出两个正整数 \(x\) 和 \(y\) 代表你的答案;否则,直接输出 NO
。
示例1
输入
2
输出
NO
示例2
输入
3
输出
YES
1 2
题解
只要这个数减去 \(1\) 之后大于 \(1\) 就可以了
代码
#include <iostream>
int main()
{
int n;
std::cin >> n;
int b = n - 1;
if(b > 1) std::cout << "YES\n" << 1 << " " << b;
else std::cout << "NO";
}
posted on 2024-07-22 14:21 Jiejiejiang 阅读(12) 评论(0) 编辑 收藏 举报