㈠ 用java求3到100的素數,初學者,求簡單的
public static void main(String[] args) {
int count = 0;
int sum = 0;
for (int i = 2; i <= 100; i++) {
boolean flag = false;
for (int j = 2; j <= i >> 1; j++) {
if (i % j == 0) {
flag = true;
break;
}
}
if (!flag) {
System.out.print(i + " ");
sum += i;
count++;
}
}
System.out.println();
System.out.println("1--100之間的素數(也稱質數)的個數 -->"+count);
System.out.println("1--100之間的素數(也稱質數)的個數之和 -->"+sum);
}
㈡ 用java求100以內的全部素數
這個的主要點是嵌套的循環,要注意循環要遍及數據的循環、邏輯判斷,素數就是表示除1及其本身外不能被其他比他小的整數整除,掌握這點就可以理解了,下面代碼僅供參考:
//實現求1-100之間的所有素數
publicclassTest
{
publicstaticvoidmain(String[]args)
{
//使用外層循環來控制1-100的數據的遍歷
for(inti=1;i<=100;i++){
//素數就是除1及其本身外不能被其他整數整除
intj=2;
while(i>j){
//如果可以被小於他的數據整除,表示該數不是素數,跳出循環
if(i%j==0){
break;
}
j++;
}
//如果沒有找到比其小的數據可以整除,則表示該數是素數
if(i==j){
System.out.println(i);
}
}
}
}
㈢ Java語言中,用類的方法求素數
importjava.util.ArrayList;
importjava.util.Scanner;
publicclassPrimeNumber{
/**
*判斷一個數是否是素數
*@paramnumber
*@return
*/
publicbooleanisPrimeNumber(intnumber){
booleanisPrimeNumber=false;
intflag=0;
for(inti=2;i<number;i++){
if(number%i==0){
flag=1;
}
}
if(flag==0){
isPrimeNumber=true;
}
returnisPrimeNumber;//返回true時為素數
}
/**
*得到一個區間的素數
*@paramstartNo
*@paramendNo
*@return
*/
publicArrayList<Integer>getPrimeNumber(intstartNo,intendNo){
ArrayList<Integer>list=newArrayList<Integer>();
for(intnum=startNo;num<=endNo;num++){
if(newPrimeNumber().isPrimeNumber(num)){
list.add(num);
}
}
returnlist;
}
/**
*測試
*@paramargs
*/
publicstaticvoidmain(String[]args){
PrimeNumberprimeNumber=newPrimeNumber();
ArrayList<Integer>list=null;
System.out.println("請輸入你要測試的數");
intinput=newScanner(System.in).nextInt();
if(primeNumber.isPrimeNumber(input)==true){
System.out.println("您輸入的數為素數");
}
else{
System.out.println("您輸入的數不是素數");
}
System.out.println("請輸入你所要求素數的區間");
System.out.println("請輸入區間的下限(較小值)");
intstartNo=newScanner(System.in).nextInt();
System.out.println("請輸入區間的上限(較大值)");
intendNo=newScanner(System.in).nextInt();
list=primeNumber.getPrimeNumber(startNo,endNo);
System.out.println("您的區間素數為");
for(inti=0;i<list.size();i++){
System.out.print(list.get(i)+" ");
}
System.exit(0);
}
}
㈣ java里怎麼實現素數
importjava.util.Scanner;
//質數又稱素數,是指在一個大於1的自然數中,除了1和此整數自身外,不能被其他自然數整除的數
publicclassPrimeNumber{
publicstaticvoidmain(String[]args){
Scannerscan=newScanner(System.in);//掃描器,接收控制台輸入信息
System.out.print("請輸入一個整數:");
try{
intnum=scan.nextInt();//取出控制台輸入的信息
if(isPrime(num)){//調用isPrime()方法
System.out.println(num+"是素數!");//若isPrime()方法返回true,輸出是素數
}else{
System.out.println(num+"不是素數!");//若isPrime()方法返回false,輸出不是素數
}
}catch(Exceptione){
System.out.println("請輸入整數");//捕捉異常,若輸入的不是整數,輸出異常
}
}
/**
*<pre>
*用於判斷一個數是否為素數,若為素數,返回true,否則返回false
*</pre>
*
*@parama
*輸入的值
*@returntrue、false
*/
publicstaticbooleanisPrime(inta){
booleanflag=true;
if(a<2){//素數不小於2
returnfalse;
}else{
for(inti=2;i<=Math.sqrt(a);i++){
if(a%i==0){//若能被整除,則說明不是素數,返回false
flag=false;
break;//跳出循環
}
}
}
returnflag;
}
}