解题思路:
由题目可知,它会逐渐趋近于黄金分割率,因为只保留8位小数, 所以说明到一个数之后会有一个定值, 先找出定值的数从哪里开始 找出大概在第20个数之后都恒定为0.61803399 第16个/第17个 0.61803381 第17个/第18个 0.61803406 第18个/第19个 0.61803396 第19个/第20个 0.61803400 第20个/第21个 0.61803399 第21个/第22个 0.61803399 第22个/第23个 0.61803399 第23个/第24个 0.61803399 第24个/第25个 0.61803399
注意事项:
参考代码:
N = int(input())
if N >= 20:
print("0.61803399")
else:
a = [0, 1, 1]
for i in range(1, N):
a.append(a[i] + a[i + 1])
print('%.8f' % (a[N] / a[N + 1]))
0.0分
4 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复