关注
# -*-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
相关推荐
点赞 评论 收藏
分享
11-24 10:06
中南大学 Java 点赞 评论 收藏
分享
牛客热帖
正在热议
# 拼多多求职进展汇总 #
237608次浏览 2039人参与
# 机械求职避坑tips #
23697次浏览 249人参与
# 阿里云管培生offer #
62830次浏览 1762人参与
# 25届秋招总结 #
412311次浏览 4144人参与
# 25届机械人为了秋招做了哪些准备? #
26327次浏览 363人参与
# 地方国企笔面经互助 #
7021次浏览 17人参与
# 北方华创开奖 #
67160次浏览 553人参与
# ai智能作图 #
29450次浏览 352人参与
# 虾皮求职进展汇总 #
92353次浏览 754人参与
# 实习,投递多份简历没人回复怎么办 #
2441406次浏览 34746人参与
# 软件开发投递记录 #
1481964次浏览 23949人参与
# 我的实习求职记录 #
6135140次浏览 84024人参与
# 我在牛爱网找对象 #
74912次浏览 555人参与
# 发工资后,你做的第一件事是什么 #
9285次浏览 43人参与
# 985本硕1个中小厂offer,摆烂or继续努力 #
83388次浏览 602人参与
# 机械人怎么评价今年的华为 #
158013次浏览 1352人参与
# 京东求职进展汇总 #
513273次浏览 4681人参与
# 如果可以,你希望哪个公司来捞你 #
34070次浏览 196人参与
# 你觉得通信/硬件有必要实习吗? #
54820次浏览 698人参与
# 歌尔求职进展汇总 #
42922次浏览 294人参与
# 在职场上,你最讨厌什么样的同事 #
6131次浏览 92人参与
# 如果再来一次,你还会选择这个工作吗? #
116204次浏览 1145人参与