[Haskell] CodeWars|Sum of odd numbers
来源:互联网 发布:淘宝二类医疗器械备案 编辑:程序博客网 时间:2024/06/05 21:18
https://www.codewars.com/kata/55fd2d567d94ac3bc9000064/haskell
题目
Given the triangle of consecutive odd numbers:
1 3 5 7 9 11 13 15 17 1921 23 25 27 29 ...
Calculate the row sums of this triangle from the row index (starting at index 1) e.g.:
rowSumOddNumbers 1 -- 1rowSumOddNumbers 2 -- 3 + 5 = 8
题解
- 无脑方法
我们看到,每一行的第一个数字序列是:[1,3,7,13,21..]
。也就是差为[2,4,6,8..]
,然后每行数字减去每行第一个数字后为:[0,2,4..]
,然后就可以得到我们的算式了:
rowSumOddNumbers :: Integer -> IntegerrowSumOddNumbers n = n * (1 + n * (n - 1)) + n * (n - 1)
- ???
我们在GHCi中调用map rowSumOddNumbers [1,2..]
结果是:[1,8,27,64,125,216,343,512,729,1000,1331,1728,2197,2744,3375,4096,4913,5832,6859,8000..]
,发现规律。。。fn=n3 (啪!)我们化简算式:fn=n(1+n(n−1))+n(n−1)=n+n2(n−1)+n(n−1)=n+n3−n2+n2−n=n3
然后。。
rowSumOddNumbers :: Integer -> IntegerrowSumOddNumbers = (^ 3)
阅读全文
0 0
- [Haskell] CodeWars|Sum of odd numbers
- CodeWars:Sum of odd numbers
- [Haskell] CodeWars|Sum of Digits
- 面试题03:Sum of odd numbers
- [Haskell] CodeWars|Growth of a Population
- [Haskell] CodeWars|Build a pile of Cubes
- Sum All Odd Fibonacci Numbers
- Sum All Odd Fibonacci Numbers
- Sum All Odd Fibonacci Numbers
- Rust : codewars的Sum of Pairs
- [Haskell] CodeWars|Printer Errors
- [Haskell] CodeWars|Vowel Count
- [Haskell] CodeWars|Bouncing Balls
- FCC----------- Sum All Odd Fibonacci Numbers
- SPOJ ODDDIV - Odd Numbers of Divisors
- Rust: codewars 的Count of positives / sum of negatives
- Sum of 'n' Numbers
- Sum of Numbers
- BZOJ 4016: [FJOI2014]最短路径树问题
- web 存储
- Jinjia2Template
- STM32时钟体系结构
- Scrapy问题记录(不定期更新)
- [Haskell] CodeWars|Sum of odd numbers
- POJ-Financial Management
- 如何进行有效的管理时间
- SQL查询的基本原理
- 前端之路——第三篇:列表、表单、提交按钮、html布局、css的display,制造第一个表单提交案例
- RESTful API设计规范
- 如何运行第一个C|C++语言程序
- HDU
- 前端angular 之MVVM