計算素數【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;
}
}
相關文章
- 計算2..n的素數
- 6-2 計算素數和
- 計算 1-100 的素數
- 素數計數函式函式
- java計算間隔天數Java
- Java浮點數計算Java
- java計算兩個日期相差年數Java
- 培養個人的計算機素質 (轉)計算機
- java 日期加減天數、月數、年數的計算方式Java
- ACM 素數ACM
- 一道多媒體畫素計算題
- Java中計算兩個日期間的天數Java
- Java計算百分比保留整數Java
- HDU44979 GCD and LCM (素因子分解+計數)GC
- 【程式設計素質】Java編碼約定程式設計Java
- 【數論】素數篩法
- Find Terrorists(素數篩選+素因子分解)Error
- Java 計算器Java
- Java中計算整數中唯一數字數量的3種方法Java
- Java8 學習之計算日期相差天數Java
- 計算機計算小數除法的陷阱計算機
- java實現有理數分數相關計算(淺度拷貝)案例Java
- Java中查詢給定數字下最大素數的2種方法Java
- Octave 數值計算
- 陣列(2)陣列運算及典例(求解素數的方法)陣列
- 計算Java日期 (轉)Java
- 完數的Java多執行緒並行程式設計-平行計算Java執行緒並行行程程式設計
- 【程式設計測試題】素數對、不要二、求和程式設計
- 求素數(質數)演算法演算法
- 在Java中實現浮點數的精確計算 (轉)Java
- 計算Linux天數Linux
- 看板數量的計算
- 數值計算基礎
- 2.計算字元數字元
- 計算記錄個數
- 計算總頁數公式公式
- 表示素數的函式函式
- 密碼工程-大素數密碼