1. 程式人生 > >Ruby基礎知識-求50以內的素數-改良版

Ruby基礎知識-求50以內的素數-改良版

$arr=[ ] #建立一個全域性陣列 $arr#
$arr[0]=2
def add_prime(n) #定義方法 將 n以內的奇素數加入$arr#
	3.step(n,2){|num|$arr <<num if is_prime?num }
end
#在Ruby裡,有時將“!”和“?”附於某些方法名後面。驚歎號“!”暗示這個方法具有破壞性, 有可能會改變傳入的引數。問號“?”表示這個方法是一個布林方法,只會返回 true 或 false。#
def is_prime?(number) #定義方法 判斷一個數是否是素數#
	j=0 #陣列下標#
	while $arr[j] * $arr[j] <=number
		return false if number % $arr[j] ==0
	j +=1
	end
return true
end
add_prime(50)
print $arr.join(", "),"\n" #轉換成字串輸出#