求50以内的素数 Ruby函数定义 数组操作

# -*- coding: UTF-8 -*-
#  E3.12-1.rb          求50以内的素数

$arr=[ ]      #建立一个全局数组  $arr
$arr[0]=2

 def add_prime(n)    #定义方法  将 n以内的奇素数加入$arr
    #3.step(n,2){|num|$arr <<num  if is_prime(num) }   
    for num in 3.step(n,2)
        $arr <<num  if is_prime(num)
    end
 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"          #转换成字符串输出
for i in 0...$arr.size
    print $arr[i],", "
end
puts

#2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47,

 

posted @ 2017-04-20 18:42  sky20080101  阅读(151)  评论(0)    收藏  举报