51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3313|回复: 4
打印 上一主题 下一主题

http://projecteuler.net/网站试题 ruby实现 Problem 1~~3

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-8 10:27:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#  Problem 1
#If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
#Find the sum of all the multiples of 3 or 5 below 1000.


def n(a,b)
sum =0
b.upto(a){|n| sum+=n if n % 3 ==0 or n%5 ==0}
return sum
end
p n(999,1)


#   Problem 2
#Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
#1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
#Find the sum of all the even-valued terms in the sequence which do not exceed four million.


max    =4000000
total  = 0
$stack = []

def fib n
  if n == 0
    return 1
  end
  if n == 1
    return 2
  end
  return $stack[n - 1] + $stack[n - 2]
end

max.times do |i|
  $stack = fib i
  if $stack > max
    break
  end
  if $stack & 1 == 0
    total += $stack
  end
end
puts total


#   Problem 3
#The prime factors of 13195 are 5, 7, 13 and 29.
#What is the largest prime factor of the number 600851475143 ?


def v(x)
  math =Math.sqrt(x).ceil
  math.downto 2 do |n|
      if x % n ==0 && v(n)==1
         return n
     end
  end
  1
end
p v(600851475143) #6857

[ 本帖最后由 Spark.lee 于 2009-9-8 10:30 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-9-8 15:52:18 | 只看该作者
给你一个更有趣的
http://www.rubyquiz.com/
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-9-8 21:27:17 | 只看该作者

这个是做什么的 啊

回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-9-9 09:30:28 | 只看该作者
学习 ruby呀!看了一下午才弄明白第一个算法.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-9-10 13:49:58 | 只看该作者

你是在看我写的吗

呵呵 把你写的拿出来看看哦
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-17 20:42 , Processed in 0.069230 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表