首页 > 试题广场 >

素数对

[编程题]素数对
  • 热度指数:1311 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个正整数 N,我们称有序三元组 (A,B,C)素数三元组,当且仅当满足下述两条:
\hspace{23pt}\bullet\, A,B,C 均为素数;
\hspace{23pt}\bullet\, A+B=C^2

\hspace{15pt}请你计算,不超过 N 的素数中,一共有多少个不同的素数三元组 (A,B,C) 满足上式。

输入描述:
\hspace{15pt}在一行上输入一个整数 N\left(1\leqq N\leqq 5\times10^5\right)


输出描述:
\hspace{15pt}输出一个整数,代表满足条件的三元组数量。
示例1

输入

8

输出

3

说明

\hspace{23pt}\bullet\,N=8 时,可选素数为 2,3,5,7
\hspace{38pt}\circ\, (2,2,2)2+2=4=2^2
\hspace{38pt}\circ\, (7,2,3)7+2=9=3^2
\hspace{38pt}\circ\, (2,7,3)2+7=9=3^2
\hspace{23pt}3 组。
示例2

输入

5

输出

1

说明

\hspace{23pt}\bullet\,N=5 时,可选素数仅 2,3,5:只有 (2,2,2) 满足条件,因此答案为 1
头像 Silencer76
发表于 2025-07-08 20:20:20
题目链接 HIGH10 素数对 题目描述 给定一个正整数 N,请计算有多少个有序素数三元组 (p1, p2, p3) 满足以下条件: p1, p2, p3 都是素数。 p1, p2, p3 <= N。 p1 + p2 = p3^2。 解题思路 这是一个计数问题,直接暴力搜索所有素数组合 ( 展开全文
头像 丨阿伟丨
发表于 2025-08-28 17:07:16
题目链接 素数三元组 题目描述 给定一个正整数 ,我们称有序三元组 为素数三元组,当且仅当满足下述两条: 均为素数; 。 请你计算,不超过 的素数中,一共有多少个不同的素数三元组 满足上式。 解题思路 这是一个需要结合数论知识和高效算法来解决的计数问题。直接暴力枚举所有不超过 的三个素 展开全文
头像 rpcwx
发表于 2026-02-23 19:15:15
#include <iostream> using namespace std; int a[500005]; long long re(int a){ if(a==1){ return 0; } if(a==2){ retur 展开全文
头像 alij
发表于 2025-12-10 20:05:10
我们要找这样的素数对,都为质数,且满足: 现在给定,求以内的素数对。 首先因为都是质数,所以我们先用线性筛把以内的质数都给预处理出来。 观察式子,可以发现,所以我们直接考虑暴力枚举,这时候就变成了在以内找到两个数的和等于一个的经典问题,我们可以使用一个来优化这个匹配,也就是再枚举,然后检查在 展开全文
头像 银河护胃队
发表于 2026-02-16 13:12:45
#include<bits/stdc++.h> using namespace std; const int N=5e5+10; int n; map<int,bool> mp; vector<int> v; bool f[N]; int main(){ 展开全文
头像 星见安
发表于 2026-02-06 11:18:17
#include <cstring> #include <iostream> #include <vector> #define N 1000001 using namespace std; bool p[N]; int main() { memset 展开全文
头像 归虚梦演
发表于 2025-08-08 10:41:52
#include <bits/stdc++.h> using namespace std; #define int long long #define PII pair<int,int> #define endl '\n' #define INF 2e18 #define u 展开全文
头像 归虚梦演
发表于 2025-08-08 10:42:25
#include <bits/stdc++.h> using namespace std; #define int long long #define PII pair<int,int> #define endl '\n' #define INF 2e18 #define u 展开全文
头像 convie
发表于 2025-07-09 14:48:09
#include<iostream> #include<algorithm> #include<cstring> #include<unordered_map> using namespace std; #define int long long #d 展开全文