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

自助建设响应式网站建立保密工作风险评估监测预警

自助建设响应式网站,建立保密工作风险评估监测预警,免费网站排名优化,为网站网站做代理被判缓刑链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 小红有一个数组,这个数组每一对相邻的元素的和都是质数。 但是小紫偷偷的把数组中的一对 axa_xax​ 和 ax1a_{x1}ax1​ 进行了交换,你能找出是 xxx 是多少吗&#xff1…

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

小红有一个数组,这个数组每一对相邻的元素的和都是质数。

但是小紫偷偷的把数组中的一对 axa_xax​ 和 ax+1a_{x+1}ax+1​ 进行了交换,你能找出是 xxx 是多少吗?

输入描述:

第一行输入一个整数 n(1≤n≤105)n(1 \leq n \leq 10^5)n(1≤n≤105) 表示数组长度。第二行输入 nnn 个整数表示数组 a(1≤ai≤105)a(1 \leq a_i \leq 10^5)a(1≤ai​≤105) 。

输出描述:

输出一个整数表示答案,如果找不到 xxx ,或者有多个答案,则输出 -1。

示例1

输入

复制3 1 3 2

3
1 3 2

输出

复制2

2

说明

 

小红的数组为1 2 3,小紫交换了第2,3个数,因此答案为2。

import java.util.*;public class Main {// 定义最大范围static final int MAXN = 200005;// 标记数组,用于标记是否为素数static boolean[] isprime = new boolean[MAXN];// 存储素数的数组static int[] prime = new int[MAXN];public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 素数计数器int cnt = 0;// 埃拉托斯特尼筛法生成素数表Arrays.fill(isprime,true);for (int i = 2; i*i < MAXN; i++) {if (isprime[i]) {prime[++cnt] = i;for (int j = i + i; j < MAXN; j += i) {isprime[j] = false;}}}// 读取数组长度int n = scanner.nextInt();// 存储交换次数int ans = 0;// 存储交换位置int res = 0;// 定义数组int[] a = new int[n + 1];// 读取数组元素for (int i = 1; i <= n; i++) {a[i] = scanner.nextInt();}// 遍历数组for (int i = 1; i < n; i++) {int flag = a[i] + a[i + 1];if (!isprime[flag]) {ans = i + 1;res++;if (i + 2 > n) {System.out.println(-1);return;}// 交换元素int temp = a[i + 1];a[i + 1] = a[i + 2];a[i + 2] = temp;}flag = a[i] + a[i + 1];if (!isprime[flag]) {System.out.println(-1);return;}}if (res == 1) {System.out.println(ans);} else {System.out.println(-1);}scanner.close();}}
  1. 利用埃拉托斯特尼筛法(Sieve of Eratosthenes)生成 2 到 200000 之间的素数表。
  2. 读取一个整数 n 和长度为 n 的整数数组 a
  3. 遍历数组,检查相邻元素之和是否为素数。若不是素数,则尝试交换当前元素和下一个元素的位置,再次检查相邻元素之和是否为素数。
  4. 根据交换次数和结果输出相应信息。如果交换次数为 1,则输出交换操作的位置;否则输出 -1。

埃拉托斯特尼筛法(Sieve of Eratosthenes)是一种用于找出一定范围内所有素数(质数)的经典算法,由古希腊数学家埃拉托斯特尼提出。该算法的核心思想是从 2 开始,将每个素数的倍数标记为合数,最终未被标记的数即为素数。以下为你详细介绍该算法:

算法步骤

 

假设我们要找出小于等于 n 的所有素数,算法步骤如下:

 
  1. 初始化:创建一个布尔类型的数组 isPrime,长度为 n + 1,并将所有元素初始化为 true。数组的索引代表对应的数字,isPrime[i] 为 true 表示 i 是素数,为 false 表示 i 是合数。
  2. 标记 0 和 1:将 isPrime[0] 和 isPrime[1] 标记为 false,因为 0 和 1 不是素数。
  3. 筛选过程
    • 从 2 开始,对于每个 iisPrime[i] 为 true),将其倍数 2 * i3 * i4 * i, ... 直到 n 标记为 false,因为这些数都是合数。
    • 继续处理下一个未被标记的数,直到处理完所有小于等于  的数。这是因为如果一个数 n 不是素数,那么它一定有一个小于等于  的因子。
  4. 收集素数:遍历 isPrime 数组,将所有 isPrime[i] 为 true 的 i 收集起来,这些数就是小于等于 n 的素数。
http://www.dtcms.com/a/543464.html

相关文章:

  • 西安网站快速备案公司怎么在百度上推广
  • 一般网站建设大概需要多少钱百度推广广告收费标准
  • 护卫神做的网站访问全媒体运营师培训费用
  • 网站改版需要多久怎样可以提升自己的网站
  • 企业网站模板网 凡建站企业logo设计方案
  • 中卫市建设局网站宁波建设网站制作
  • 黄页88网站wordpress支付
  • 建设一个视频网站首页icp备案官网查询
  • 网站建设图书馆管理系统向国外卖货的电商平台
  • 做网站公司好屏蔽wordpress头像
  • 华宁网站建设在网站设计公司上班好吗
  • 手机医疗网站模板西蔵自治区建设厅网站
  • 寻找石家庄网站建设重庆白云seo整站优化
  • 内网网站建设方面政策重庆seo排名收费
  • 网站建设的电话销售好做不百姓网官网首页
  • 电商网站商品详情页高端网站开发的公司
  • 做啥网站赚钱?快速网站价格
  • 东莞响应式网站实力乐云seo网页设计与制作需要学什么软件
  • 专业企业网站开发联系电话厦门市市政集团官网
  • 长沙品牌网站建设实力强外贸企业网络推广
  • 电商网站前端制作分工wordpress 标签调用
  • 济南便宜企业网站建设费用做网站是否过时了
  • 如何开发手机网站上海企业网站制作方法
  • 男女直接做的视频网站建设部网站燃气管理部门
  • 中国知名网站建设公司做电影网站什么后果
  • 专业做w7系统的网站wordpress 添加搜索框
  • 上海网站建设公司兴田德润放心原创文章网站更新
  • 百度云服务器挂网站wordpress 快递查询 插件
  • 大型网站制作导图wordpress 作者 链接
  • 手机做服务器建网站便宜的自助建站