計算素數【Java】
計算素數的和
題目描述
輸入兩個正整數m和n(m<n),求m到n之間(包括m和n)所有素數的和,要求定義並呼叫函式isprime(x)來判斷x是否為素數(素數是除1以外只能被自身整除的自然數)。
輸入
m n
輸出
素數和
樣例輸入
2 3
樣例輸出
5
思路:素數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。求素數時,只需要從2開始到x的開根號的奇數,因為x除了本身和1以外,如果還有約數必定時一個大於平方根和一個小於平方根或兩者等於平方根,則只需判斷小於等於平方根中是否存在約數即可
程式碼實現:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m=sc.nextInt();
int n = sc.nextInt();
int sum=0;//計算素數之和
for(int i=m;i<=n;i++){
if (isPrime(i)){
sum+=i;
}
}
System.out.println(sum);
}
//判斷是否是素數的方法
public static boolean isPrime(int x) {
int m= (int) Math.sqrt(x);
boolean flag=true;
if (x==1) return false;//1不是素數
if (x==2) return true;//2是唯一的是偶數的質數,其餘自然數是素數的必然為奇數
if (x%2==0) return false;//不為2的偶數都不是素數
for(int i=2;i<=m;i++){
if(x%i==0){//有約數,則不是素數
flag=false;
break;
}
}
return flag;
}
}
相關文章
- 6-2 計算素數和
- 計算 1-100 的素數
- PAT-B 1013 數素數 【素數】
- 素數
- 一道多媒體畫素計算題
- Java中計算兩個日期間的天數Java
- Java計算百分比保留整數Java
- PAT-B 1007 素數對猜想【素數】
- 素數篩
- 【程式設計素質】Java編碼約定程式設計Java
- 數論(1):素數
- Java中計算整數中唯一數字數量的3種方法Java
- 計算機計算小數除法的陷阱計算機
- 素數判斷
- 素數 UVA 406
- 最強素數
- 判斷素數
- 【數論】素數篩法
- java實現有理數分數相關計算(淺度拷貝)案例Java
- 計算Linux天數Linux
- Java中查詢給定數字下最大素數的2種方法Java
- 陣列(2)陣列運算及典例(求解素數的方法)陣列
- 向量點積計算javaJava
- 美素數 hd 4548
- 素數判定 hd 2012
- 【程式設計測試題】素數對、不要二、求和程式設計
- 碎片化學習Java(十八)Java for迴圈計算 1~100 內所有偶數和Java
- python計算對數值Python
- PAT1013數素數C++C++
- 計算機視覺 OpenCV Android | Mat畫素操作(影象畫素的讀寫、均值方差、算術、邏輯等運算、權重疊加、歸一化等操作)...計算機視覺OpenCVAndroid
- Java 基礎 之 算數運算子Java
- java大整數四則運算Java
- 【JAVA】多邊形重心計算Java
- Java (計算機程式語言)Java計算機
- java8平行計算Java
- 計算機系統002 – 數值運算計算機
- 如何高效尋找素數
- 密碼工程-大素數密碼