本文目錄一覽:
java 判斷是不是素數
判斷number是否是素數有這麼幾種方法:
(1)用2至number-1之間的所有數去整除number,如果有一個能被整除,說明number是非素數;除非所有的數都不能被整除,才說明number是素數。
(2)用2至number/2之間的所有數去整除number,如果有一個能被整除,說明number是非素數;除非所有的數都不能被整除,才說明number是素數。
(3)用2至number的平方根之間的所有數去整除number,如果有一個能被整除,說明number是非素數;除非所有的數都不能被整除,才說明number是素數。
這3種的方法的效率是逐漸提高的。下面列出了第3種方法的實現:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
int number; // 輸入的數字
Scanner input = new Scanner(System.in);
System.out.println(“請輸入數字”);
number = input.nextInt(); // 輸入數字
if(isPrimeNumber(number)){
System.out.println(number + “是一個素數”);
}
else{
System.out.println(number + “是一個非素數”);
}
}
public static boolean isPrimeNumber(int num){
if(num 2){
System.out.println(“數據錯誤”);
return false;
}
int k = (int)Math.sqrt(num); //num的平方根
int i;
for(i=2; i=k; i++){ //依次用2..k之間的數去整除num,如果沒有一個數能被整除,說明num是素數
if(num % i == 0){
break;
}
}
if(i k){
return true;
}
return false;
}
}
如果對你的程序進行修改,也可這樣:
public static void main(String[] args) {
int number;// 輸入的數字
int j = 2;
Scanner input = new Scanner(System.in);
System.out.println(“請輸入數字”);
number = input.nextInt();// 輸入數字
for(j=2;jnumber;j++){
if(number%j == 0) {
System.out.println(“這不素數”);
break;
}
}
if(j=number)
System.out.println(“這是素數”);
}
用java編寫一個程序段,輸入一個自然數,判斷該數是否為素數.
使用java編寫判斷自然數是否為素數的方式是,使用scanner來接受用戶輸入的數值,使用素數的算法,實例如下:
Scanner sr = new Scanner(System.in);
System.out.print(“請輸入a的值:”);
int a = sr.nextInt();
boolean is = true;
if (a 1)
{
System.out.println(a + “不是質數,因為他小於一”);
}
else
{
ListInteger list = new ArrayListInteger();
for (int i = 2; i a; i++)
{
if (a % i != 1 a % i != a)
{
if (a % i == 0){
is=false;
list.add(i);
}
}
}
if(is){
System.out.println(“a是質數”);
}else{
String yz=””;
for (int i = 0; i list.size(); i++)
{
if (yz==””)
{
yz=yz+list.get(i);
}else{
yz=yz+”,”+list.get(i);
}
}
System.out.println(“a不是質數,因為他含有因子”+yz);
}
}
java求素數代碼
求1-N以內的所有素數,實現思路如下:
1、 得到1到n之間的素數,存到一個ArrayList集合。
2、判斷一個數是不是素數:只能被1和本身整除
說明:從2開始除,不需要到n,也就是循環條件是 n 就可以,這之間只要被整除了,那麼他就不是素數了。
3、設置主函數,運行 getPrimeNumberToN獲取限定範圍內的素數。
執行結果圖:
擴展資料:
實現功能的編程事項:
1、模塊化思想。
先拆分需求,先拆分先考慮怎麼確定一個數是不是素數,然後再復用到所有。不能把方法堆到一起,否則無法復用代碼。
2、注意注釋。
就算是自己的測試代碼,盡量寫清楚注釋,這樣即使過了三個月,再看代碼,也能清晰明了。不要覺得簡單,就懶得注釋。
3、注意參數命名。
從類名到方法名,再到變量名,都不能隨意取名,關於這個命名,不要嫌棄長,重點是意思清楚明白。見名知意(語義化),是最好的。
用java寫一個程序,判斷輸出1~100之內的素數?
素數是指只能被1和自身整除的數,所以先定義一個函數判斷一個數是否是素數,接着從1到100for循環判斷。
package baidu;
public class Test {
public static boolean fun(int n){
if(n2) return false;
for(int i=2;in-1;i++)
if(n%i==0) return false;
return true;
}
public static void main(String[] args) {
int k=0;
for (int n = 1; n = 100; n++) { // 1~100的所有數
if(fun(n)){
System.out.print(n+” “);
k++;
if (k % 5 == 0) // 每輸出5個則換行
System.out.println();
}
}
}
}
/* 運行結果:
2 3 5 7 11
13 17 19 23 29
31 37 41 43 47
53 59 61 67 71
73 79 83 89 97
*/
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/285122.html