当前位置: 首页 > wzjs >正文

郑州网站建设优化网站申请流程

郑州网站建设优化,网站申请流程,汕头网站优化,贵州建设厅监理协会网站P9420 [蓝桥杯 2023 国 B] 双子数 题目 分析代码 题目 分析 首先&#xff0c;我们如何找到双子数&#xff1f; 1&#xff09;找到所有质数满足范围内的质数&#xff08;即至少质数^2<23333333333333) 我们看见双子数x的范围2333<x<23333333333333&#xff0c;又因为…

P9420 [蓝桥杯 2023 国 B] 双子数

      • 题目
  • 分析
      • 代码

题目

在这里插入图片描述

分析

首先,我们如何找到双子数?

1)找到所有质数满足范围内的质数(即至少质数^2<=23333333333333)

我们看见双子数x的范围2333<=x<=23333333333333,又因为
x = p² × q²,所以 p 和 q 的取值不能太大。代码中筛选出所有小于等于 5,000,000 的质数(这个范围足够覆盖所有可能的组合)。
2)遍历质数对
对于每一对不同的质数 p 和 q(假设 p < q),计算 p² × q²,检查是否在目标区间内。

最后我再介绍一下
介绍一下最高效的质数筛【埃拉托斯特尼筛法】

for (int i = 2; i <= sqrt(N); i++) {if (isprime[i] == 0) {//标记非质数为 1for (int j = i * i; j <= N; j += i)isprime[j] = 1;//这一步为埃拉托斯特尼筛法的核心步骤!}}

首先定义一个数组isprime[i]用于标记i是否为质数,不同的是,将非质数标记为1

为什么从i*i开始遍历
比i * i 更小的 i 的倍数(例如 2* i、3* i、…、(i-1)* i)已经被之前更小的质数标记过了。例如:

当 i=5 时,25=10 已经被 i=2 循环时标记。
3
5=15 已经被 i=3 循环时标记。
所以第一个未被标记的 i 的倍数是 i*i=25。

为什么j+=i而不是j++?
这一步的目的是按步长 i 递增,标记所有 i 的倍数

具体例子(以 i=5 为例)
初始时:i=5(且 i 是质数)。
标记起点:j = 5*5 = 25。
标记过程:
标记 25 为非质数 → j += 5 → 30。
标记 30 为非质数 → j += 5 → 35。
依此类推,直到 j 超过 N。

时间复杂度是 O(n log log n),是效率最高的质数筛选算法之一!

代码

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <math.h>
#include <queue>#include <cctype>
using namespace std;
const int N = 5e6;
//为什么是5X10^6,因为x=p^2+q^2,当p=5e6已经能覆盖所有可能的x范围;
int isprime[N];int prime[N];
int main() {//开始筛2~N中的质数【递推实现】for (int i = 2; i <= sqrt(N); i++) {if (isprime[i] == 0) {//标记非质数为 1for (int j = i * i; j <= N; j += i)isprime[j] = 1;//这一步为埃拉托斯特尼筛法的核心步骤!单独见分析}}//收集所有质数到primeint cnt = 0;for (int i = 2; i <= N; i++) {if (isprime[i] != 1)prime[cnt++] = i;}int ans = 0;for (int i = 0; i < cnt; i++) {long long p2 = 1LL * prime[i] * prime[i]; //计算p^2if (p2 * p2 > 23333333333333)break;for (int j = i + 1; j < cnt; j++) {long long q2 = 1LL * prime[j] * prime[j];long long temp = q2 * p2;if (temp < 2333)continue;//结果小了,跳过本次循环,接着往后遍历if (temp > 23333333333333)break;//结果打了,已经找到头了,终止循环ans++;//如果满足2333<=temp<=23333333333333,则记录答案}}cout << ans << endl;return 0;
}
http://www.dtcms.com/wzjs/503188.html

相关文章:

  • wordpress手机不能访问seo外链是什么意思
  • ih5做的网站怎么上传seo机构
  • 网站左侧的导航是怎么做的全网营销图片
  • 手游源码平台网站推广怎么优化
  • 王爷设计与网站建设基础有感武汉软件测试培训机构排名
  • 湖北建设郑州seo优化服务
  • 百度bch主机怎么做多个网站宁波seo推广费用
  • 推荐做微商海报的网站aso具体优化
  • 河南省城乡建设信息网百度seo点击排名优化
  • 花生壳做网站速度中国联通和腾讯
  • 南宁本地网站有哪些公司网站怎么申请怎么注册
  • 做wish选品网站 数据网站个人网站怎么做
  • 做旅游攻略去什么网站关键词优化seo公司
  • 自适应网站开发资源销售推广的方法都有哪些
  • 陕西网站建设公司信息流优化师需要具备哪些能力
  • 整站优化网站报价seo优化运营
  • 网站建设 会议纪要搜索网络如何制造
  • 找网站公司做网站是怎样的流程网站建设公司大全
  • 如何做优惠券网站系统优化助手
  • 深圳住房和建设局网站网上申请百度上搜索关键词如何在首页
  • webstorm可以做网站吗如何进行推广
  • 做3d教学网站app拉新推广平台渠道
  • 网站怎么做微信推广企业网站推广公司
  • 知识产权教育网站建设电子商务seo
  • 北京建设网站设计资源网站优化排名软件公司
  • 网站编辑怎么做的百度查询关键词排名工具
  • 儒枫网网站建设软文营销的五大注意事项
  • 什么公司需要建立网站百度框架户一级代理商
  • 外贸建站哪家强外贸网站怎么做网上销售哪些平台免费
  • 上海做网站哪里有怎么做网络营销推广啊