Java程式查詢數字的最大質因數
以下是查詢數字最大質因數的Java程式碼:
示例
import java.io.*;
import java.util.*;
public class Demo{
static long maxPrimeFactors( long val){
long max_prime = -1;
while (val % 2 == 0) {
max_prime = 2;
val >>= 1;
}
for (int i = 3; i <= Math.sqrt(val); i += 2){
while (val % i == 0){
max_prime = i;
val = val / i;
}
}
if (val > 2)
max_prime = val;
return max_prime;
}
public static void main(String[] args){
int val = 148592;
System.out.println("The largest prime factor of 148592 is ");
System.out.println(maxPrimeFactors(val));
val = 890654;
System.out.println("The largest prime factor of 890654 is ");
System.out.println(maxPrimeFactors(val));
}
}輸出
The largest prime factor of 148592 is 251 The largest prime factor of 890654 is 4591
名為Demo的類包含一個靜態函式,該函式獲取一個值,並定義了一個“while”條件,該條件檢查該值模2是否為0。如果為0,則變數(max_prime)被賦值為2。否則,它向右移位1位。再次,一個“for”迴圈迭代從3到該值平方根的元素,並且每次迭代後遞增2。
現在,“while”迴圈檢查該值模迭代器是否為0。如果是,則變數(max_prime)被賦值為當前正在迭代的值。該值除以迭代值。如果此值大於2,則此值(max_prime)被賦值給名為max_prime的變數。將其返回。在主函式中,定義一個整數值,並透過使用特定引數呼叫函式來找出最大質因數。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP