查找组成一个偶数最接近的两个素数
2016-03-08 15:13
309 查看
题目描述:
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
请实现如下接口:
public static class PrimePair
{
public int primeMin;
public int primeMax;
}
public static PrimePair findPrimeNumber(int number)
{
/* 请实现 */
return null;
}
譬如: 输入20 ,输出 7 13
约束: number为输入的偶数,5 < inum <= 10000
知识点: 循环
输入: 输入一个偶数
输出:
较小的素数
较大的素数
样例输入:
20
样例输出:
7
13
代码:
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。
请实现如下接口:
public static class PrimePair
{
public int primeMin;
public int primeMax;
}
public static PrimePair findPrimeNumber(int number)
{
/* 请实现 */
return null;
}
譬如: 输入20 ,输出 7 13
约束: number为输入的偶数,5 < inum <= 10000
知识点: 循环
输入: 输入一个偶数
输出:
较小的素数
较大的素数
样例输入:
20
样例输出:
7
13
代码:
#include <iostream> #define MIN 5 #define MAX 10000 using namespace std; int isPrime(int num) { for (int i = 2; i <= sqrt(num); i++) if (num%i == 0) return 0; return 1; } int main() { int num; cin >> num; if (num <= MIN || num > MAX || num % 2 != 0) return -1; int ave = num / 2; for (int i = 1; i < ave; i++) if (isPrime(ave - i) && isPrime(ave + i)) { cout << ave - i << endl << ave + i << endl; break; } return 0; }
得分 | 运行时间 | 内存 | 复杂度 | 最大嵌套深度 |
100(100) | 16ms | 2068KB | 7 | 3 |
相关文章推荐
- Got fatal error 1236 from master when reading data from binary log: ‘Slave can not handle replicatio
- 【LeetCode】2. Add Two Numbers
- 设计模式六大原则(6):开闭原则
- ScheduledExecutorService
- Android项目:手机安全卫士(7)—— 手机防盗功能
- iframe页面改动parent页面的隐藏input部件value值,不能触发change事件。
- chrome显示ue-editor上传的视频问题
- Nsight运行程序报undefined reference to “xxx”错误的问题
- 走进OC-第一个OC程序
- HDU 2502 月之数
- 设计模式六大原则(5):迪米特法则
- Hive中的三种不同的数据导出方式介绍
- proc文件系统
- AsyncHttpClient使用
- apache kafka源码分析-Producer分析
- EasyDarwin开发的短视频拍摄、录制开源项目EasyVideoRecorder
- 解决coredata多次使用后内存上涨问题
- ThreadLocal失效
- Java反射机制详解
- online_judge_1511