求50以内的素数 博客分类: ruby J#F#
程序员文章站
2024-03-16 10:32:22
...
# for i in 2..50 #50以内 f=true #起始假定每个数都是素数 for p in 2...i #比自身小的正整数(1和自身除外) if i%p==0 #如果能整除 f=!f #那么这个数不是素数 break #并且跳出这层循环 end # if 结束 end #内层循环结束 print i," " if f #如果这个数保持起始假定,则打印 end #外层循环结束 print "\n" $arr=[ ] #建立一个全局数组 $arr $arr[0]=2 def add_prime(n) #定义方法 将 n以内的奇素数加入$arr 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" #转换成字符串输出