# E3.12-1.rb 求50以内的素数
#大于其前面所有素数的平方的奇数既为素数
#小于其前面所有素数的平方的奇数并不能被前面所有素数整除的奇数为素数
$arr=[ ] #建立一个全局数组 $arr
$arr[0]=2
#定义方法 将 n以内的奇素数加入$arr
def add_prime(n)
3.step(n,2){|num|$arr <<num if is_prime?num }
end
#定义方法 判断一个数是否是素数
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" #转换成字符串输出
学习Ruby的一个小程序,其中包括step,方法定义,公共变量($parameterName)等一些基础关键字和语法的运用。