java质数判断质数因子所有质数(素数)*

    xiaoxiao2025-03-04  8

    1.质数(素数)数判断: boolean isPrime(int number) { boolean isPrime = true; for (int i = 2; i <= Math.sqrt(number); i++) { if (number % i == 0) { isPrime = false; } } return isPrime; } 2.质数因子 import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int num=sc.nextInt(); sc.close(); int tmp=1; boolean isfirst=true; while(tmp<=num) { int i=2; while(tmp*i<=num&&num%(tmp*i)!=0) { i++; } tmp=tmp*i; if(tmp<=num) { if(!isfirst) { System.out.print(" "); } else { isfirst=false; } System.out.print(i); } } } } 3.某个整数内的所有质数 (某数如果是质数,他的整数倍一定不是质数,进行标记处理) import java.util.Scanner; public class test{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); sc.close(); int[] flag=new int[n];//标志数组 //从2开始遍历到根号n for(int i=2;i*i<n;i++)//i*i<n====i<Math.sqrt(n) { //如果未被标记则为质数,从i倍开始标记它的所有倍数 if(flag[i]==0) { for(int j=i;i*j<n;j++) { flag[i*j]=1; } } } //从2开始遍历输出结果 for(int i=2;i<n;i++) { if(flag[i]==0) { System.out.println(i); } } } }
    转载请注明原文地址: https://ju.6miu.com/read-1296855.html
    最新回复(0)