下面是我用JavaScript寫的素數函數,供參考,大同小異
成都創新互聯公司科技有限公司專業互聯網基礎服務商,為您提供成都服務器托管,高防主機,成都IDC機房托管,成都主機托管等互聯網服務。
PrimeA=function(n,nth){/* 小于n的素數表
參數nth 指定返回第n個素數
*/
//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];//自己往后補充,越多越好,可以加快檢測小素數的效率
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測試
}
質數:
public static boolean isPrime(int N){if( N 2 ) return false;
for( int i = 2 ; i*i = N; i++){if( N % i == 0) return false;return true;}
JAVA 編程方法:
public static void main(String[] args) {// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);for(int i=0;i100;i++){
System.out.print("請輸入數字:");int num1 = input.nextInt();if(num1==2||num1==3){
System.out.println(num1+"是質數");}else if(num1%2!=0(num1+1)%2==0){
System.out.println(num1+"是質數");}else{System.out.println(num1+"不是質數");
使用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);
}
}
public static void main(String[] args) {
int count=0;
int prime=1;
while(count100){
while(true){
prime++;
if(isPrime(prime)){
System.out.print(prime+"||");
count++;
if(count%10==0){
System.out.println(" ");
break;
}
}
}
}
}
public static boolean isPrime(int n){
for(int i=2;in;i++){
if(n%i==0){
return false;
}
}
if(n==1){
return false;
}
return true;
}
1、Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。
2、Java是由Sun Microsystems公司推出的Java面向對象程序設計語言(以下簡稱Java語言)和Java平臺的總稱。由James Gosling和同事們共同研發,并在1995年正式推出。Java最初被稱為Oak,是1991年為消費類電子產品的嵌入式芯片而設計的。1995年更名為Java,并重新設計用于開發Internet應用程序。
3、用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發展,常用的瀏覽器均支持Javaapplet。另一方面,Java技術也不斷更新。Java自面世后就非常流行,發展迅速,對C++語言形成有力沖擊。在全球云計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。2010年Oracle公司收購Sun Microsystems。
分享標題:判斷質數代碼Java javascript判斷質數
文章源于:http://m.kartarina.com/article24/hgghje.html
成都網站建設公司_創新互聯,為您提供微信公眾號、虛擬主機、Google、動態網站、網站維護、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯