问题描述
给一个长度为n的数组,计算有多少对(i,j)满足i<j且a[i]+a[j]是质数
输入
第一行一个数n(1<=n<=2*10^3)
第二行n个数字其中一个数字x满足(1<=x<=10^5)
输出
符合要求的质数个数
输入样例
5
1 2 3 4 5
输出
2
说明
符合条件的有(1,2)和(1,4)
一道叫稍微的水题之质数对
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
语言-逆行者 2023-05-13 11:31关注你题目例子错了吧,(1,2)(1,4)(3,4)(2,5)(2,3)
#include<iostream> #include<cmath> using namespace std; bool isPrime(int x) // 判断质数 { if(x < 2) return false; for(int i=2; i<=sqrt(double(x)); i++) if(x%i == 0) return false; return true; } int main() { int n, a[2005]; cin >> n; for(int i=0; i<n; i++) cin >> a[i]; int cnt = 0; for(int i=0; i<n-1; i++) for(int j=i+1; j<n; j++) if(isPrime(a[i]+a[j])) // 如果和为质数 cnt++; cout << cnt << endl; return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录