列表

详情


NC15072. 列一列

描述

W在计算一个数列{An},其中A1=1,A2=2,An+2=An+1+An。尽管他计算非常精准,但很快他就弄混了自己的草稿纸,他找出了一些他计算的结果,但他忘记了这些都是数列中的第几项。

输入描述

每行包括数列中的一项Ak(k<=100000)。

总行数T<=30。

输出描述

对于每一项Ak,输出一行包括一个正整数k表示输入中数是数列的第几项。

示例1

输入:

2
3
5
8
13

输出:

2
3
4
5
6

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

pypy3 解法, 执行用时: 825ms, 内存消耗: 464904K, 提交时间: 2022-04-10 11:34:37

a=[1,2]
for _ in range(2,100001):
    a.append(a[_-1]+a[_-2])
while 1:
    try:
        n = int(input())
        print(a.index(n)+1)
    except:
        break

Python(2.7.3) 解法, 执行用时: 761ms, 内存消耗: 460376K, 提交时间: 2018-02-02 20:32:37

fei = [1,2]
x=2
while(x<100000):
	fei.insert(x,fei[x-1]+fei[x-2])
	x+=1
while(True): 
    try: 
		a=input()
		print(fei.index(a)+1)
    except: 
        break

Python3(3.5.2) 解法, 执行用时: 707ms, 内存消耗: 461664K, 提交时间: 2018-09-21 12:24:23

a=[0,1,2]
for i in range(3,100001):
	a.append(a[i-1]+a[i-2])
while True:
	try:
		n=int(input())
		print(a.index(n))
	except :
		break

上一题