通过添加自然数来生成三角数的序列.所以第7个三角形数字是1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.前十个术语是:
1,3,6,10,15,21,28,36,45,55 ......
让我们列出前七个三角形数字的因子:
Run Code Online (Sandbox Code Playgroud)1: 1 3: 1,3 6: 1,2,3,6 10: 1,2,5,10 15: 1,3,5,15 21: 1,3,7,21 28: 1,2,4,7,14,28我们可以看到28是第一个有超过五个除数的三角形数.
给定整数n,显示具有至少n个除数的第一个三角形数.
样本输入:5
输出28
输入约束:1 <= n <= 320
我显然能够做到这个问题,但我使用了一个天真的算法:
获取ñ.
找到三角形数字并使用mod运算符检查它们的因子数量.
但挑战是在输入后4秒内显示输出.在190和以上的高输入上,它花了将近15-16秒.然后我尝试将三角形数字及其因子数量先放入二维数组中,然后从用户处获取输入并搜索数组.但不知怎的,我无法做到:我遇到了很多处理器故障.请尝试使用此方法并粘贴代码.或者如果有更好的方法,请告诉我.
c++ ×1