2022pta天梯赛热身赛(试水赛)L1-8均是素数

题目大意:

L1-8 均是素数 (20 分)
在给定的区间 [m,n] 内,是否存在素数 p、q、r(p<q<r),使得 pq+r、q**r+p、r**p+q 均是素数?

输入格式:

输入给出区间的两个端点 0<m<n≤1000,其间以空格分隔。

输出格式:

在一行中输出满足条件的素数三元组的个数。

输入样例:

1 35
输出样例:

10
样例解读

满足条件的 10 组解为:

2, 3, 5
2, 3, 7
2, 3, 13
2, 3, 17
2, 5, 7
2, 5, 13
2, 5, 19
2, 5, 31
2, 7, 23
2, 13, 17
题目思路,先打表储存,在判断即可,

朴素做法:

复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int s[10010];
 4 int is_prime(int x)
 5 {
 6     if (x <= 1)
 7         return false;
 8     for (int i = 2; i <= sqrt(x); i++)
 9     {
10         if (x % i == 0)
11             return false;
12     }
13     return true;
14 }
15 int main()
16 {
17     int a, b;
18     cin >> a >> b;
19     for (int i = a; i <= b; i++)
20         s[i] = is_prime(i);
21     int ans = 0;
22     for (int p = a; p <= b; p++)
23         if (s[p])
24             for (int q = p + 1; q <= b; q++)
25                 if (s[q])
26                     for (int r = q + 1; r <= b; r++)
27                         if (s[r])
28                         {
29                             int t = p * q + r;
30                             int w = q * r + p;
31                             int e = r * p + q;
32                             if (is_prime(t) &&is_prime(w) &&is_prime(e))
33                                 ans++;
34                         }
35                     cout<<ans;
36                     return 0;    
37 }
复制代码

 

posted @   江上舟摇  阅读(510)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示