华为OJ:查找组成一个偶数最接近的两个素数
来源:互联网 发布:基本面分析软件 编辑:程序博客网 时间:2024/06/05 10:58
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对
输入描述:
输入一个偶数
输出描述:
输出两个素数
输入例子:
20
输出例子:
7
13
解析:#include <iostream>#include <vector>#include <cmath>#include <set>using namespace std;bool judge(int n){ int i; for(i=2;i<sqrt(n*1.0)+1;++i) { if(n%i==0) return false; } return true;}int main(){ int n,i,j; while(cin>>n) { vector<int>p; vector<int>s; int idx; if(n<=5||n>1000) { continue; } for(i=2;i<n;++i) { if(judge(i)) { p.push_back(i); } } for(i=0;i<p.size();++i) { for(j=0;j<p.size();++j) { if(p[i]+p[j]==n&&p[i]!=p[j]) { s.push_back(p[i]); s.push_back(p[j]); } } } int min = p.size(); for(i=0;i<s.size();i+=2) { // int idx; if(fabs(s[i+1]-s[i]*1.0)<min) { min = fabs(s[i+1]-s[i]*1.0); idx = i; } } cout<<s[idx]<<endl; cout<<s[idx+1]<<endl; } return 0;}
0 0
- 【华为oj】查找组成一个偶数最接近的两个素数
- 华为OJ--查找组成一个偶数最接近的两个素数
- 华为oj 查找组成一个偶数最接近的两个素数
- 华为oj 查找组成一个偶数最接近的两个素数
- 【华为 OJ 】查找组成一个偶数最接近的两个素数
- 华为OJ 查找组成一个偶数最接近的两个素数
- 华为OJ:查找组成一个偶数最接近的两个素数
- 【华为OJ】查找组成偶数最接近的两个素数
- 华为oj_查找组成一个偶数最接近的两个素数
- 华为OJ(查找组成一个偶数最接近的两个素数)
- 华为OJ 查找组成一个偶数最接近的两个素数 Java实现
- 华为OJ基础篇-查找组成一个偶数最接近的两个素数
- Java算法---华为oj查找组成一个偶数最接近的两个素数
- 【华为OJ】【051-查找组成一个偶数最接近的两个素数】
- 【华为OJ】【079-查找组成一个偶数最接近的两个素数】
- 华为OJ——查找组成一个偶数最接近的两个素数
- 华为OJ 初级:查找组成一个偶数最接近的两个素数
- 华为OJ——查找组成一个偶数最接近的两个素数
- select、poll、epoll之间的区别总结[整理]
- 为什么要使用struts2以及Servlet的缺点
- Python基本数据结构之元组、集合与字典
- 开源协议介绍(转)
- 简易版主题切换功能的实现
- 华为OJ:查找组成一个偶数最接近的两个素数
- android中动态代理的demo
- File指令
- CTTC的面试
- RGB CMYK HSV LAB
- 【Android 基础】 ListView 部分Item不可选中
- 理解本真的REST架构风格
- 项目成本管理 考纲与考试要点
- CentOS_7安装之后无网络,VMWare虚拟机