Java 素数的判断

判断101-200之间有多少个素数,并输出所有素数。

public class Demo01 {
	public static void main(String[] args) {
		int i,j,sum=0;
		System.out.println("101到200之间的素数为:");
		for(i=101;i<=200;i++) {			
			for(j=2;j<i;j++) {
				if(i%j==0) {
					break;		//结束所在的循环,跳出内循环
				}				
			}
			if(j>=i) {
				sum++;				
				System.out.print(i+" ");
			}
		}
		System.out.println();
		System.out.println("101到200之间的素数一共有:"+sum+"个");
	}	
}

结果如下

 其他方法

package project;

//首字母大写
public class Question01 {

	public static void main(String[] args) {
		/**
		 * 判断101-200之间有多少个素数,并输出所有素数。
		 * 素数:也叫质数,除了1和它本身再没有因数
		 */
        /**
         * 实现思路:
         * 1.找到101-200的数,循环
         * 2.判断它除1和它本身有没有因数?有它就不是质数,没有 的话,它就是质数,打印输出
         * 
         * ??
         * 1.用平方根求因数:如果一个非素数,它的其它因数必有一个小于它的平方根,还有一个大于平方根
         * 2.用一半数来求因数:如果一个非素数,在它的一半i/2内(包括它的一半)<=i/2,能求到除了它本身以外的其他因数。
         */
		
		//1.找到101-200的数,循环
		boolean isResult = true;//定义变量尽量在外部定义,为什么呢?
		for (int i = 101; i <=200; i++) {
			isResult = true;//重量级 
			//内循环,找因数
			for (int j = 2; j <=Math.sqrt(i); j++) {
			//for (int j = 2; j <=i/2; j++) {
				if(i%j==0)
				{
					//不是素数
					isResult=false;
					break;
				}
			}
			if(isResult)
				System.out.print(i+"  ");
		}
	}

}
public class Question1 {
	
	public static void main(String[] args) {
		
		int j,n,sum=0;
		boolean flag;
		
		System.out.println("101-200之间的素数有:");
		for(int i=101; i<=200; i++) {	
			flag = true;
			n = (int)Math.sqrt(i);
			for(j=2; j<=n; j++) {
				if(i%j == 0) {					
					flag = false;
					break;
				}
			}
			if(flag == true) {
				sum++;
				System.out.print(i+" ");
			}
		}
		System.out.println();
		System.out.println("101-200之间共有" + sum + "个素数");
	}
}
public class Demo {

	public static void main(String[] args) {
		

		for(int i=101; i<=200; i++)
		{
			// 判断 i 是否为质数
			boolean isPrime = true;
			for(int k=2; k<i; k++)
			{
				if( i % k == 0)
				{
					isPrime = false;
					break;
				}
			}
			
			// 如果是质数,则直接输出
			if( isPrime )
			{
				System.out.print(i+" ");
			}
		}
	}
}
	
发布了35 篇原创文章 · 获赞 5 · 访问量 864

猜你喜欢

转载自blog.csdn.net/m0_43443133/article/details/104561707