下面是我用JavaScript寫的素數(shù)函數(shù),供參考,大同小異
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網整合營銷推廣、網站重做改版、阜寧網站定制設計、自適應品牌網站建設、H5網站設計、商城網站建設、集團公司官網建設、外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為阜寧等各大城市提供網站開發(fā)制作服務。
PrimeA=function(n,nth){/* 小于n的素數(shù)表
參數(shù)nth 指定返回第n個素數(shù)
*/
//var?t0=Time.now5();
/*
方法1:利用isPrime 廢棄!
var?t=[];
for(var?i=2;in+1;i++){
if(isPrime(i)){
t.push(i)
}
}
consolelog('方法1:耗時:'+(+Time.now5()-(+t0)));
return?t
*/
//方法2:利用篩法
var?p=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59];//自己往后補充,越多越好,可以加快檢測小素數(shù)的效率
if(nth??n=669){
return?p[n-1]
}
if(!nth??n2){
return?[]
}
if(n=5000??!nth){
for(var?i=0;i100;i++){
var?j=p.indexOf(n-i);
if(j-1){return?p.slice(0,j+1)};
}
return?p
}
var?m=nth?Math.ceil(n*Math.log(n)+1000):n; //pn?~?nln(n)
// for(var?i=5001;i=m;i+=2){
var?i=5001;
while(i){
var?t=Math.floor(Math.sqrt(i)),?pl=p.length;
for(var?j=0;jpl;j++){//p.length
if(i%p[j]?==?0){
break
}else?if(p[j+1]t){
p.push(i);
if(nth??pl==n-1){
return?i
}
break;
}
}
if(!nth??i=n-1){
return?p
}
i+=2;
}
return?p
//方法3:Wilson測試
}
下面是用Java編寫的程序,可以實現(xiàn)輸出1到100之間的所有素數(shù):
Copy codepublic class Main {
public static void main(String[] args) {
for (int i = 2; i = 100; i++) {
// 判斷i是否為素數(shù)
boolean isPrime = true;
for (int j = 2; j i; j++) {
if (i % j == 0) {
// i被j整除,說明i不是素數(shù)
isPrime = false;
break;
}
}
if (isPrime) {
// i是素數(shù),輸出i
System.out.println(i);
}
}
}
}
這個程序使用了兩層循環(huán),外層循環(huán)從2開始遍歷1到100之間的數(shù)字,內層循環(huán)用來判斷當前數(shù)字是否為素數(shù)。如果是素數(shù),就輸出這個數(shù)字。
希望這個程序能幫到你。
import java.io.*;
class prime{
private int num;
static boolean isprime(int num){
if(num=1) return false;
int i;
for(i=2;i=num/2;i++)
if(num%i==0) return false;
return true;
}
}
class Main {
public static void main (String[] args)
throws IOException{
int num=0;
String data;
BufferedReader br = new
BufferedReader(new
InputStreamReader(System.in));
System.out.print( "請輸入一個整數(shù):" );
data=br.readLine ();
try{
num = Integer.parseInt (data);
}
catch(NumberFormatException e){}
if(prime.isprime (num)){
System.out.println ( num+"是素數(shù)!" );
}
else
System.out.println ( num+"不是素數(shù)!" );
}
}
祝君好運啊