关注
# -*-coding:utf-8 -*-
import sys
import numpy as np
from collections import OrderedDict
import collections
def print_lists(lists):
"""
打印二维列表
:param lists: List[List[int]]
:return: None
"""
for list in lists:
for i, x in enumerate(list):
print(x, end=' ')
print(end='\n')
# def fib(n, a, x):
# list = list()
# list.append(n)
# list.append(a)
# b = n + a
# list.append(b)
# while b <= max:
# b = n + a
# list.append(b)
# n, a = a, b
#
# return list
def fib(n , a, max):
list = []
b = 0
list.append(n)
list.append(a)
while b <= max:
b = n + a
n, a = a, b
list.append(b)
# a, b = b, a + b
# list.append(b)
# if max in list:
# weizhi = list.index(max)
return list
def solution(x):
ret = []
array = []
if x < 3:
return
if x == 3:
list1 = fib(1, 1, x)
list2 = fib(1, 2, x)
list3 = fib(2, 1, x)
array.append(list1)
array.append(list2)
array.append(list3)
else:
list1 = fib(1, 1, x)
list2 = fib(1, 2, x)
list3 = fib(2, 1, x)
array.append(list1)
array.append(list2)
array.append(list3)
for i in range(4, x+1, 1):
if i%2 == 0:
list1 = []
a = int(i/2)
list1 = fib(a, a, x)
array.append(list1)
else:
n = int(i/2)
a = int(i/2)+1
list1 = fib(n, a, x)
array.append(list1)
list1 = fib(a, n, x)
array.append(list1)
hash = OrderedDict()
print_lists(array)
for list in array:
if x in list:
weizhi = list.index(x) + 1
hash[weizhi] = hash.get(weizhi, 0) + 1
hash = OrderedDict(sorted(hash.items(), key=lambda x: x[0], reverse=False))
return hash
if __name__ == "__main__":
# 读取第一行的n
ret = []
for i in range(1):
x = int(sys.stdin.readline().strip())
# print(x)
ret_hash = solution(x)
for i, j in ret_hash.items():
ret.append([i, j])
print_lists(ret) 你看看我这个答案可以没,我自己测试是没问题,不过提示数组越界了。
查看原帖
点赞 2
相关推荐
昨天 16:57
National University of Singapore 运营 点赞 评论 收藏
分享
04-14 19:18
门头沟学院 化工工程师 点赞 评论 收藏
分享
03-26 15:13
华中科技大学 golang 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
20789次浏览 346人参与
# 硬件人你反向读研了吗 #
40205次浏览 608人参与
# 京东TGT #
28596次浏览 151人参与
# 硬件人秋招的第一个offer #
65964次浏览 1081人参与
# 滴滴工作体验 #
23683次浏览 123人参与
# 非技术岗投递进展 #
137580次浏览 1222人参与
# 材料进Fab厂真的劝退吗? #
36457次浏览 158人参与
# 不考虑转正,实习多久合适 #
24526次浏览 118人参与
# 机械求职避坑tips #
41425次浏览 355人参与
# 互联网回暖,腾讯要招5000+人! #
263548次浏览 4889人参与
# 面试经验谈 #
13525次浏览 201人参与
# 机械只有转码才有出路吗? #
125904次浏览 1590人参与
# 职场新人生存指南 #
333301次浏览 7145人参与
# 面试吐槽bot #
2646次浏览 32人参与
# 异地恋该为对方跳槽吗 #
23972次浏览 119人参与
# 硬件人更看重稳定还是高薪 #
39121次浏览 203人参与
# vivo求职进展汇总 #
208624次浏览 1341人参与
# 25届如何提前做秋招准备? #
163959次浏览 2451人参与
# 你遇到过哪些神仙同事 #
69755次浏览 623人参与
# 租房找室友 #
28044次浏览 147人参与
# 深信服求职进展汇总 #
188906次浏览 1694人参与