算法学习——枚举之全素组
2023-02-18 16:40:25 时间
算法说明
素数:只能被1与本身整除的整数。
1和0不是素数,也不是合数
不大于指定整数n的3个素数之和也是素数,则说这三个素数时基于整数n的全素组
例如:n=15,素数3,5,11之和3+5+11=29也为素数,所以称3,5,11是一个基于15的全数组
输入一个整数n(n不大于3000),输出基于n的全素组的个数,并输出最大全素组
算法思路
- 先取得0~n的素数,存入数组之中
- 然后使用三重枚举循环,从数组之中每次取三个,判断三个数之和是否为素数
- 考虑到全素组数目较多,设置一个long长整型变量记录全素组的个数,同时,设置一个max记录全素组的最大值,三个变量用于接收最大全素组的三个数
算法实现
Scanner scaner = new Scanner(System.in);
int a = scaner.nextInt();
scaner.close();
int[] b = new int[1500];
long count =0;//全素组个数
int countsushu=0;//0~n的素数个数
//找出0到a的素数,存放在b数组中
for(int i=2,j=0;i<=a;i++){
if(panduan(i)){
b[j] = i;
countsushu++;
j++;
}
}
int max=0;
int c1=0,c2=0,c3=0;
for(int i=1;i<=countsushu-2;i++){
for(int j=i+1;j<=countsushu-1;j++){
for(int k=j+1;k<=countsushu;k++){
if(panduan(b[i]+b[j]+b[k])){
count= count+1;
if(b[i]+b[j]+b[k]>max){
c1=b[i];
c2=b[j];
c3=b[k];
max = b[i]+b[j]+b[k];
}
}
}
}
}
System.out.println("共有" + count+"个全素组");
System.out.println("一个最大全素组为:"+c1+"+"+c2+"+"+c3+"="+max);
}
/**
*
* @param a
* @return 通过试商法判断a是否为素数
*/
public static boolean panduan(int a){
int s = (int)Math.sqrt(a);
for(int i=2;i<=s;i++){
if(a%i==0){
return false;
}
}
return true;
}
结果
相关文章
- NETs相关基因构建预后模型干湿结合发12分+SCI
- 用 Minio 快速启动 Velero 实现 Kubernetes资源备份
- MySQL(1) - 用户管理及root密码修改
- Jmeter系列(40)- 详解 Jmeter 图形化 HTML 压测报告
- Jmeter系列(39)- 详解 Jmeter CLI 模式
- Jmeter系列(38)- Jmeter 分布式测试
- Jmeter系列(37)- 跨平台运行 Jmeter,CSV 文件路径设置
- Jenkins操作手册 - 巨详细,一篇足矣!
- 【JVM实战系列】「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康
- 【Spring专题】「开发指南」夯实实战基础功底之解读logback-spring.xml文件的详解实现
- 精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)
- 【深入浅出Spring原理及实战】「源码原理实战」从底层角度去分析研究PropertySourcesPlaceholderConfigurer的原理及实战注入机制
- 精华推荐 | 【深入浅出RocketMQ原理及实战】「性能原理挖掘系列」透彻剖析贯穿RocketMQ的事务性消息的底层原理并在分析其实际开发场景
- 深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」
- 【JVM故障问题排查心得】「内存诊断系列」Docker容器经常被kill掉,k8s中该节点的pod也被驱赶,怎么分析?
- 【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
- 【秒杀购物商城业务服务】「分布式架构服务」盘点中间件服务的高可用模式及集群技术的方案分析
- 作者推荐 | 【分布式技术专题】「架构设计方案」图解学习法总结集群模式下的各种软负载均衡策略实现及原理分析
- 【分布式技术专题】「架构设计方案」盘点和总结秒杀服务的功能设计及注意事项技术体系
- Kafka技术专题之「性能调优篇」消息队列服务端出现内存溢出OOM以及相关性能调优实战分析