趣味素数-等差素数数列-java
2016-04-25 13:17
681 查看
问题描述:
类似7,37,67,97,107,137,167,197这样由素数组成的数列叫做等差素数数列。素数数列具有项数的限制,一般指素数数列的项数有多少个这样的连续项,最多可以存在多少个连续项。
编程找出100以内的等差数列。
类似7,37,67,97,107,137,167,197这样由素数组成的数列叫做等差素数数列。素数数列具有项数的限制,一般指素数数列的项数有多少个这样的连续项,最多可以存在多少个连续项。
编程找出100以内的等差数列。
import java.util.ArrayList; public class Main { public static void main(String[]Args){ ArrayList alist = new ArrayList(100); alist = getPrimeNum(100); ArrayList alist2 = getSl(alist); //获取1~100内的素数 存放到数组中 for(int i=0 ; i<alist2.size() ; i++){ //循环遍历输出数组元素 System.out.println(alist2.get(i)); } } public static ArrayList getPrimeNum(int a){ //获取制定范围内的素数 ArrayList alist = new ArrayList(100); for(int i=2 ; i<=a ; i++){ if(isPrimeNum(i)){ alist.add(i); } } return alist; } public static boolean isPrimeNum(int num){ //素数的判断方法 for(int j=2 ; j<=(int)Math.sqrt(num) ; j++){ if(num%j==0){ return false; } } return true; } public static ArrayList getSl(ArrayList alist){ //获取指定数列中的素数等差数列 int diff = 0; //公差数 int listNum = 0; //等差数列中的最后一个数字 ArrayList alist3 = new ArrayList(); //存放等差数列 的数组 以等差数列为元素 for(int i=0 ; i<=alist.size()-3 ; i++){ //遍历素数数组 for(int j=i+1 ; j<=alist.size()-2 ; j++){ diff = (int)alist.get(j)-(int)alist.get(i); //算公差 listNum = (int)alist.get(j)+diff; //求三个数 if(alist.contains(listNum)){ ArrayList alist2 = new ArrayList(); alist2.add(alist.get(i)); alist2.add(alist.get(j)); alist2.add(listNum); for(int i2=alist.indexOf(listNum)+1 ; i2<alist.size() ; i2++){ //判断后面的数字能不能和前面的数字构成等差数列 if((int)alist.get(i2)-listNum==diff){ alist2.add(alist.get(i2)); listNum = (int) alist.get(i2); } } alist3.add(alist2); //如果能的话 添加到数组中 } } } return alist3; //返回该数组 } }
相关文章推荐
- Java反编译插件jad
- java集合框架11——TreeMap和源码分析(二)
- 最长回文子串
- Spring 4.1+ 的 JSONP使用
- JAVA四种引用方式
- java 单例模式防治反攻击
- Java的集合框架
- Java 知识结构图
- MyBatis Generator For Eclipse 插件安装
- MyBatis Generator For Eclipse 插件安装
- 我的Java后端书架 (2016年暮春3.0版)
- Struts2配置默认action(首页)、配置404防止请求出错问题解决
- Struts2.3+Spring3.2.8+Hibernate4.1全注解配置
- java 面向对象之继承extends
- [改善Java代码]避免对象的浅拷贝
- Java类的加载机制及常见异常
- MAC下配置Java环境变量
- Spring Boot初探
- eclipse选中一个单词,其他相同的单词都会高亮显示的颜色修改
- java 爬虫基本代码