1、编写一个程序来计算前十个正整数(1 到 10)的平方和。
以下是使用 Ruby 语言实现的代码:
sum = 0
for i in 1..10
sum += i**2
end
puts sum
2、编写一个程序来计算 6 的阶乘(对于正整数,一个数的阶乘是从 1 开始到该数(包括该数)的所有数字的乘积。例如,3 的阶乘 = 1 * 2 * 3 (= 6))。
以下是使用 Ruby 语言实现计算 6 的阶乘的程序示例:
# 方法一:使用递归函数
# 定义阶乘函数
def factorial(n)
if n <= 1
1
else
n * factorial(n - 1)
end
end
# 调用函数
puts factorial(6)
# 方法二:使用三元运算符
# 定义阶乘函数
def facto(n)
(n <= 1) ? 1 : n * facto(n - 1)
end
# 调用函数
puts facto(6)
3、斐波那契数列被定义为一系列整数,从第三个数开始,任何一个数都是它前面两个数的和。(前两个数分别为 0 和 1)。编写代码,打印出初始的 0 和 1 之后的前十个斐波那契数(此程序不需要打印初始的 0 和 1)。
以下是实现该功能的 Ruby 代码:
def fibonacci(n)
if n == 0
return 0
elsif n == 1
return 1
else
return fibonacci(n - 1) + fibonacci(n - 2)
end
end
(2..11).each do |i|
puts fibonacci(i)
end
4、编写一个程序,使用递归函数计算第 n 个斐波那契数(n 为正整数)。使用此函数找出第八个斐波那契数。假定第零个和第一个斐波那契数已知。
def fibonacci(n)
if n == 0
0
elsif n == 1
1
else
fibonacci(n - 1) + fibonacci(n - 2)
end
end
puts fibonacci(8)
5、从正整数序列(从 1 开始)中,通过编程找出第一个平方超过 1000 的整数。
可通过编写程序,从 1 开始依次计算每个正整数的平方,直到找到平方超过 1000 的第一个整数。经计算,该整数为 32,因为:
- 31 的平方是 961
- 32 的平方是 1024
6、在申请工程或医学专业时,计算分数时会根据考试成绩给予相应学分。规则如下:分数达到500分及以下:入学无学分;501至600分:10个学分;601至700分:20个学分;701至800分:40个学分;801分及以上:70个学分。编写一个程序,根据一个存储学生姓名和考试成绩的哈希表,确定并打印每个学生获得的学分。
h.map { |k, v|
case v
when 0..500
puts "#{k} : no credit"
when 501..600
puts "#{k} : credit : 10"
when 601..700
puts "#{k} : credit : 20"
when 701..800
puts "#{k} : credit : 40"
else
puts "#{k} : credit : 70"
end
}
7、编写一个 Ruby 程序,根据输入的名和姓作为参数,找出该人的生日。
首先需要对输入参数进行验证,确保输入了名和姓两个参数。以下是示例代码:
if ARGV.length != 2
puts "please provide first_name

最低0.47元/天 解锁文章
790

被折叠的 条评论
为什么被折叠?



