求1000以下等于质数和的数的质数队队数

来源:互联网 发布:informix导出数据库 编辑:程序博客网 时间:2024/04/27 21:56

题目:如果一个数(小于1000)能够由两个质数的和表示,那么这两个质数就叫该数的质数队,输入一个数,输出它的质数队的队数

代码如下:

#include<iostream>#include<vector>#include<math.h>using namespace std;int numofpairs(int x) {vector<int> res;int i, j, b = 0;for (i = 2; i<x; i++) {int n = sqrt(i);for (j = 2; j <= n; j++) {if (i%j == 0) {break;}}if (j>n) res.push_back(i);}i = 0, j = res.size() - 1;while (i<=j) {if (res[i] + res[j] == x) {b++;i++;j--;}else if (res[i] + res[j]<x) {i++;}else j--;}return b;}int main(){int a;while (cin >> a) {if (a<1 || a>1000) return -1;cout << numofpairs(a) << endl;}return 0;}


阅读全文
0 0
原创粉丝点击