重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
求1-N以内的所有素数,实现思路如下:
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站设计、建始网络推广、微信小程序、建始网络营销、建始企业策划、建始品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供建始建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
1、 得到1到n之间的素数,存到一个ArrayList集合。
2、判断一个数是不是素数:只能被1和本身整除
说明:从2开始除,不需要到n,也就是循环条件是 n 就可以,这之间只要被整除了,那么他就不是素数了。
3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。
执行结果图:
扩展资料:
实现功能的编程事项:
1、模块化思想。
先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。
2、注意注释。
就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。
3、注意参数命名。
从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。
参考代码如下:
package test;
public class Test {
public static void main(String[] args) {
int j;
for (int i = 2; i = 100; i++) // 1不是素数,所以直接从2开始循环
{
j = 2;
while (i % j != 0)
j++; // 测试2至i的数字是否能被i整除,如不能就自加
if (j == i) // 当有被整除的数字时,判断它是不是自身
System.out.println(i); // 如果是就打印出数字
}
}
}
扩展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则称为合数。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
最大质因数
13195的所有质因数为5、7、13和29。600851475143最大的质因数是多少?
long i=2,n=600851475143L;
while (in){ //避免n本身就是质数,否则循环到sqrt(n)就可以了
if(n % i==0){
n=n/i;
i--;
}
i++;
}
System.out.println( i );
第10001个素数
列出前6个素数,它们分别是2、3、5、7、11和13。我们可以看出,第6个素数是13。
第10,001个素数是多少?
第1至10001都找出来了:
int a[]=new int[10001];
a[0]=2;
a[1]=3;
int n=5,k,i=2;
while (i10001){
for ( k=0;ki;k++) if(n % a[k] ==0 ) break;
if (k ==i ) a[i++]=n;
n+=2;
}
System.out.println(a[10000] );
/**
* 0-100:是:101个数字,不是100个;
* 0与1,不是质数也不是合数:
* 以下代码写的有点冗余:只因为题目要求,布尔数组要参与运算!
* 其实一个循环就可以解决的事!
*/
public class Prime {
public static void main(String[] args) {
int arr[]=new int[101],count=0;//元素数组!
boolean[] brr=new boolean[101];//标记数组!
for(int i=0;iarr.length;i++) //循环复制!
arr[i]=i;
f:for (int i = 0; iarr.length; i++) {//判断!
if(i2)continue f;//跳过,0,1;
for(int tem=i;tem--!=2;)
if(i%tem==0)
continue f;
brr[i]=true;//标记
}
for (int i = 0; i brr.length; i++) {//查看!
if(brr[i]!=false) {
count++;
System.out.print(arr[i]+" ");
}
}
System.out.println("\r\n0-100质数共:"+count+"个!");
}
}