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 代码示例:
# 定义递归函数计算阶乘
def factorial(n)
if n <= 1
1
else
n * factorial(n - 1)
end
end
# 输出6的阶乘
puts factorial(6)
还可以使用三元运算符简化代码:
def facto(n)
(n <= 1) ? 1 : n * facto(n - 1)
end
puts facto(6)
3、斐波那契数列被定义为一系列整数,从第三个数开始,任何一个数都是它前两个数的和。给定前两个数为 0 和 1,该数列是 0,1,1,2,3,5, …。编写代码以打印出初始的 0 和 1 之后的前十个斐波那契数(此程序无需打印初始的 0 和 1)。
以下是实现该功能的 Ruby 代码:
def fibonacci
a, b = 0, 1
2.times do
a, b = b, a + b
end
10.times do
a, b = b, a + b
puts a
end
end
fibonacci
这段代码定义了一个名为 fibonacci 的方法,在方法内部,首先通过循环跳过初始的 0 和 1,然后再循环打印出接下来的十个斐波那契数。
4、编写一个程序,使用递归函数计算第 n 个斐波那契数(n 为正整数)。使用此函数找出第八个斐波那契数。已知第零个和第一个斐波那契数分别为 0 和 1。
根据斐波那契数列的定义,从第三个数开始,每个数都是前两个数之和。以下是使用 Ruby 语言实现的递归函数来计算第 n 个斐波那契数,并找出第八个斐波那契数的代码:
# 定义递归函数计算第 n 个斐波那契数
def fibonacci(n)
if n == 0
0
elsif n == 1
1
else
fibonacci(n - 1) + fibonacci(n - 2)
end
end
# 找出第八个斐波那契数
result = fibonacci(8)
puts result
运行上述代码,输出结果为 21 ,即第八个斐波那契数是 21。
5、从正整数系列(从 1 开始)中,通过编程找出第一个平方超过 1000 的整数。
可通过编写程序,从 1 开始逐个计算正整数的平方,直到找到平方超过 1000 的第一个整数。经计算,该整数为 32 ,因为 31 的平方是 961 , 32 的平方是 1024 。
6、求1到100(不包括100)中所有能被3整除或者能被5整除,但不能同时被3和5整除的整数的和。
需要通过代码或数学方法计算,以下是使用Python代码的实现:
result = 0
for i in range(1, 100):
if (i % 3 == 0 or i % 5 == 0) and not (i % 3 == 0 and i % 5 == 0):
result += i
print(result)
运行上述代码可得到具体的和。
从数学角度,能被3整除的数构成首项 $ a_1 = 3 $,公差 $ d = 3 $ 的等差数列;能被5整除的数构成首项 $ b_1 = 5 $,公差 $ d = 5 $ 的等差数列;能同时被3和5整除(即能被15整除)的数构成首项 $ c_1 = 15 $,公差 $ d = 15 $ 的等差数列。
分别根据等差数列求和公式 $ S_n = \frac{n(a_1 + a_n)}{2} $ 计算相应数列的和,再用能被3整除的数的和加上能被5整除的数的和,减去能同时被3和5整除的数的和的两倍,即可得到结果。

最低0.47元/天 解锁文章
2029

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



