我需要了解在红宝石
的问题的解决方案,以一个行总和奇数方法:我需要了解在红宝石
从行索引计算该三角形的行总和。
row_sum_odd_numbers(1); # 1
row_sum_odd_numbers(2); # 3 + 5 = 8
row_sum_odd_numbers(3); # 7 + 9 + 11 = 27
...
Test.assert_equals(row_sum_odd_numbers(1), 1)
Test.assert_equals(row_sum_odd_numbers(2), 8)
Test.assert_equals(row_sum_odd_numbers(13), 2197)
Test.assert_equals(row_sum_odd_numbers(19), 6859)
Test.assert_equals(row_sum_odd_numbers(41), 68921)
的解决问题的办法如下:
def row_sum_odd_numbers(n)
return n**3
end
我明白,这代码返回答案。我不明白它是如何返回答案的。为什么n的第3个指数返回奇数的行和?
Jack Kelly
这只是一个数学技巧。它不能解释,但你可以得到的模式! –
这可能有助于显示三角形和/或问题定义。三角形的特质使它解决了这个简单的问题。也许这个问题可以适用于maths.stackexchange,如果从三角形的设计中得到n ** 3似乎是模糊的。 –
我投票结束这个问题作为题外话题,因为它是关于数学,而不是编程。 –
回答
这只是数学计算:)
可以找出哪些是第一个被加数: 第一加数之前,我们有1 + 2 + 3 + ... + n-1
奇数,其金额为((n-1)*n)/2
。所以,在他们之后的第一个加载是((n-1)*n)/2 * 2 + 1 = (n-1)*n + 1
。
现在我们应该只计算我们的总和: row_sum_odd_numbers(n)= (n-1)*n + 1 + (n-1)*n + 3 + (n-1)*n + 5 +...+ (n-1)*n + 2*n - 1 =
(n-1)*n*n + 1 + 3 + 5 + ... + 2*n -1 = n^3 - n^2 + n^2 = n^3
请格式化以提高可读性。它将帮助OP和那些正在寻找类似解决方案的人。 –
首先,需要计算第k
行开头的数字。如果你画的三角形,就不难认识到,这是
我需要了解在红宝石
相关文章
- 直接在代码里面对list集合进行分页
- .NET Framework 4.5新特性详解
- 大数据的简要介绍
- 大数据的由来
- 高斯混合模型的自然梯度变量推理
- timing-wheel 仿Kafka实现的时间轮算法
- 使用Navicat软件连接自建数据库(Linux系统)
- 那一天,我被Redis主从架构支配的恐惧
- Redis 深入了解键的过期时间
- C#使用委托调用实现用户端等待闪屏
- 基于流计算 Oceanus 和 Elasticsearch Service 构建百亿级实时监控系统
- GRAND | 转录调控网络预测数据库
- JFreeChart API中文文档
- 临床相关突变查询数据库
- TIGER | 人类胰岛基因变化查询数据库
- 视频边缘计算网关EasyNVR在视频整体监控解决方案中的应用分析
- Apache Arrow - 大数据在数据湖后的下一个风向标
- 常见的电商数据指标体系
- AKShare-艺人数据-艺人流量价值
- MySQL中多表联合查询与子查询的这些区别,你可能不知道!