ruby求50之內(nèi)的素數(shù)的方法,感覺對比PHP和SHELL方法是最簡單的,但SHELL中可以利用factor命令,而PHP中沒有求素數(shù)的對應(yīng)函數(shù)的,需要自己設(shè)計算法,三種方式大家對比學(xué)習(xí)下,應(yīng)該還有更優(yōu)更簡單的方法的。
創(chuàng)新互聯(lián)是一家專業(yè)提供通州企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為通州眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。#encoding:utf-8 #求50以內(nèi)的素數(shù)(注意數(shù)字中..與...的區(qū)別) for i in 2..50 #1默認不為素數(shù),所以從1-50范圍內(nèi)被排除 f=true #起始假定每個數(shù)都是素數(shù) for p in 2...i #比自身小的正整數(shù)(1和自身除外) if i%p==0 #如果能整除 f=nil#那么這個數(shù)不是素數(shù) break #并且跳出這層循環(huán) end # if 結(jié)束 end #內(nèi)層循環(huán)結(jié)束 print i," " if f #如果這個數(shù)保持起始假定,則打印 end #外層循環(huán)結(jié)束
PHP代碼如下:
SHELL的方式略為簡單些,代碼如下:
#!/bin/bash #factor是shell命令,可以求出后面所接數(shù)字中的所有素數(shù)。 for i in {2..50} do factor $i | awk -F '[: ]' '{if(NF == 3) print $1}' done
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。