排位赛(五)| B题
【题目描述】
给定一个质数 n,问能否写成两个质数 a, b 的和,即 n = a + b, a, b, n均为质数;
【输入格式】
输入包括一个整数n (2 <= n <= 1e7);
【输出格式】
如果不存在这样的整数n, 输出 -1;
如果存在,输出a,b,以空格间隔开;
【解题思路】
(1)只存在2一个偶数质数;
(2)奇数 = 奇数 + 偶数:故a,b中必有一个为2,故只要(n - 2)为质数即输出 a,b;
(3)由于n - 2的存在,对n == 2 和 n == 3 进行特判;
【正确代码】
1 #include <iostream> 2 3 using namespace std; 4 5 int is_prime(int x) 6 { 7 int prime = 1; 8 for (int i = 2; i <= x / 2; i ++) 9 if(x % i == 0) 10 { 11 prime = 0; 12 break; 13 } 14 return prime; 15 } 16 17 int main() 18 { 19 int n; 20 scanf("%d", &n); 21 22 if(n == 2) puts("-1"); 23 else if(n == 3) puts("-1"); 24 else 25 { 26 if(is_prime(n - 2)) printf("%d %d", 2, n - 2); 27 else printf("-1"); 28 } 29 30 return 0; 31 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架