关注
# -*-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
相关推荐
04-08 18:40
河北工程大学 Java 点赞 评论 收藏
分享
03-19 10:06
电子科技大学 Unity3D客户端 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你知道最慷慨和最抠的公司分别是 #
2832次浏览 31人参与
# 哪些AI项目值得做? #
1819次浏览 65人参与
# 华泰星战营,提前锁定校招offer #
8257次浏览 311人参与
# 实习时最怕听到的一句话 #
2143次浏览 35人参与
# 简历上如何体现你的“AI”能力? #
2081次浏览 42人参与
# 没有面试的日子里,你在做什么 #
2687次浏览 47人参与
# 怎么给家人解释你的工作? #
56976次浏览 217人参与
# 你简历上最心虚的一句话 #
7240次浏览 38人参与
# 找不到大厂实习可以去小厂吗? #
2245次浏览 25人参与
# 你总挂在第__面? #
1198次浏览 20人参与
# 实习生如何通过转正 #
138017次浏览 1492人参与
# 国央企笔面经互助 #
196767次浏览 1235人参与
# 考公VS就业,你怎么选? #
100651次浏览 534人参与
# 卷__卷不过你们,只能卷__了 #
60718次浏览 767人参与
# 哪些公司对双非友好 #
230991次浏览 1248人参与
# 你今年的保底offer是哪家 #
187717次浏览 760人参与
# 快消秋招求职进展汇总 #
11653次浏览 41人参与
# 嵌入式岗知多少 #
72644次浏览 571人参与
# 荣耀求职进展汇总 #
1177135次浏览 5676人参与
# 你认为哪些项目算烂大街? #
89397次浏览 659人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
161012次浏览 904人参与