十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
public class PrimeNumber {
企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,创新互联建站面向各种领域:成都围栏护栏等成都网站设计公司、网络营销推广解决方案、网站设计等建站排名服务。
/**
* 质数,只能被1和自身整除
* @param args
*/
public static void main(String[] args) {
for (int i = 100; i = 200 ; i++) {
/*
标识位:true表示质数,false表示非质数
假定每个数一开始都是质数
*/
boolean flag = true;
for (int j = 2; j i ; j++) {
/*
从2开始除,只要余数为0就表示这个数能被其他数整除
然后将标识位设置为false,然后跳出内层循环执行
*/
if (i % j == 0){
flag = false;
break;
}
}
/*
根据标识位来判定是否是质数,是的话就输出
*/
if(flag){
System.out.println("质数:" + i);
}
}
}
}
/**
* 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+"个!");
}
}
一个好的算法,要经的起推敲,不要只求结果
import java.util.ArrayList;
import java.util.List;
public class Primes {
public static void main(String[] args) {
// 求素数
ListInteger primes = getPrimes(200);
// 输出结果
for (int i = 0; i primes.size(); i++) {
Integer prime = primes.get(i);
System.out.printf("%8d", prime);
if (i % 10 == 9) {
System.out.println();
}
}
}
/**
* 求 n 以内的所有素数
*
* @param n
* 范围
*
* @return n 以内的所有素数
*/
private static ListInteger getPrimes(int n) {
ListInteger result = new ArrayListInteger();
result.add(2);
for (int i = 3; i = n; i += 2) {
if (!divisible(i, result)) {
result.add(i);
}
}
return result;
}
/**
* 判断 n 是否能被整除
*
* @param n
* 要判断的数字
* @param primes
* 包含素数的列表
*
* @return 如果 n 能被 primes 中任何一个整除,则返回 true。
*/
private static boolean divisible(int n, ListInteger primes) {
for (Integer prime : primes) {
if (n % prime == 0) {
return true;
}
}
return false;
}
}
求1-N以内的所有素数,实现思路如下:
1、 得到1到n之间的素数,存到一个ArrayList集合。
2、判断一个数是不是素数:只能被1和本身整除
说明:从2开始除,不需要到n,也就是循环条件是 n 就可以,这之间只要被整除了,那么他就不是素数了。
3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。
执行结果图:
扩展资料:
实现功能的编程事项:
1、模块化思想。
先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。
2、注意注释。
就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。
3、注意参数命名。
从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。