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

华为OD机考-素数伴侣-逻辑分析(JAVA 2025B卷)

在这里插入图片描述

在这里插入图片描述

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;public class PrimeCouple {public static void main(String[] args) throws IOException {/*** 奇数偶数 分组* 循环奇数组 找到偶数组中能够奇数匹配的素数伴侣* 已有伴侣的偶数则让给后来可以重新找到伴侣的*/BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int N = Integer.valueOf(br.readLine());String [] lines = br.readLine().split("\\s");List<Integer> odds = new ArrayList<>(8);List<Integer> evens = new ArrayList<>(8);for(String i : lines){int item = Integer.valueOf(i);if(item % 2 == 1){odds.add(item);}if(item % 2 == 0){evens.add(item);}}int count = 0;int [] matchEvens = new int[evens.size()];for(int odd : odds){boolean [] v = new boolean[evens.size()];if(find(odd,matchEvens,evens,v)){count++;}}System.out.println(count);}static boolean find(int odd,int[] matchEvens,List<Integer> evens,boolean[] v){//遍历偶数//去检查当前传入的奇数能否与偶数匹配for (int i = 0; i < evens.size(); i++){boolean prime = isPrime(odd + evens.get(i));if(prime && !v[i]){v[i] = true;//如果第i个偶数没有伴侣//或者第i个偶数原来有伴侣,并且该伴侣能够重新找到伴侣的话(这里有递归调用)//则奇数x可以设置为第i个偶数的伴侣//这里采用了匈牙利算法,能让则让if(matchEvens[i] == 0 || find(matchEvens[i],matchEvens,evens,v)){matchEvens[i] = odd;return true;}}}return false;}private static boolean isPrime(int n) {if(n == 1) return false;for (int i = 2;i <= (int)Math.sqrt(n); i++){if(n % i == 0)return false;}return true;}
}

相关文章:

  • AWS 使用图形化界面创建 EKS 集群(零基础教程)
  • jenkins对接、jenkins-rest
  • 单例模式-Python示例
  • 如何仅用AI开发完整的小程序<4>—小程序页面创建与删除
  • 【Linux】进程间多种通信方式对比
  • Flink Sink函数深度解析:从原理到实践的全流程探索
  • vscode+react+ESLint解决不引入组件,vscode不会报错的问题
  • 【设计模式】策略模式 在java中的应用
  • 魂斗罗ost 游戏全合集8GB
  • 应急推进器和辅助推进器诊断函数封装
  • Python爬虫实战:研究Ghost.py相关技术
  • RK3588/RK3576/RK3562、T113/T527 MIPI CSI调试思路
  • Windows防火墙指南大全:安全红线与科学替代方案
  • MongoDB:索引
  • 解锁n8n:开启工作流自动化的无限可能(5/6)
  • 一个免费的视频、音频、文本、图片多媒体处理工具
  • 16_设备树中的remote-endpoint演示基于视频字符设备Linux内核模块
  • 集群聊天服务器---muduo库的使用
  • 鲲鹏服务器创建Zookeeper镜像实例
  • 网络安全智能体:重塑重大赛事安全保障新范式
  • 企业网站建设可以分为( )交互层次/潍坊百度关键词优化
  • 如何做婚介网站/关键词优化公司哪家推广
  • 龙川做网站的/公司网站模板设计
  • 西宁网站建设有限公司/网站推广软件免费版大全
  • 做网站宣传有用吗/seo职业技能培训班
  • 怎么做app软件开发/优化大师绿色版