def newfib(n):
if not isinstance(n, int) or n < 1:
print('传入的不是正整数!')
return None
listfib=
if n == 1:
print(n)
return None
else:
listfib.append(2)
for i in range(2, n):
temp = listfib + listfib
if(temp % 2 == 0):
temp = temp // 2
listfib.append(temp)
print(listfib)
# newfib(30)
def newfib(n):
a,b=1,2
if n==1:
print a
elif n==2:
print b
else:
print a,b
for i in range(n-2):
a,b=b,a+b
if b%2==0:
b=b/2
print b
if __name__=='__main__':
n=int(input('n'))
newfib(n)
小白写的有点烂,见谅
1
对不对{:10_254:}
def new(n):
if n == 1:
return
else:
a,b=1,2
while n:
print(a)
a,b = b,a+b
if b%2 == 0:
b = b//2
n -= 1
a = input('请输入数字:')
print('结果为:')
b = int(a)
print(new(b))
def newfib(n):
n1, n2 = 1, 2
for i in range(1, n):
n1, n2 = n2, (n1 + n2) // 2 if (n1 + n2) % 2 == 0 else n1+n2
return n1
看看
本帖最后由 不知道干啥 于 2017-8-30 18:49 编辑
def newfib(n):
a,b = 1,2
while n:
print(a)
a,b = b,a+b
n -=1
if b%2==0:
b = int(b/2)
newfib(12)
def newfib(n):
n1 = 1
n2 = 2
n3 = 1
num =
if n < 0:
print('输入错误!')
return -1
elif n == 1:
return num
else:
num.append(n2)
while (n - 2) > 0:
n3 = n1 + n2
if (n3 % 2) != 0:
num.append(n3)
n1 = n2
n2 = n3
else:
n3 = n3//2
num.append(n3)
n1 = n2
n2 = n3
n -= 1
return num
number = int (input('请输入一个整数:'))
print (newfib(number))
def nfibs(num):
nfibs=
for i in range(num-2):
nfibs.append(nfibs[-2]+nfibs[-1])
if nfibs[-1]%2==0:
nfibs[-1]=nfibs[-1]/2
print nfibs
nfibs(12)
1,2,3,,5,4,9,13,11,12,23,35,29
看看答案对不对
来学习
def newfib(n):
list0 = []
if n == 1:
list0.append(1)
return(list0)
if n == 2:
list0 =
return(list0)
elif n > 2:
list0 =
for i in range(3,n+1):
num = int(list0 + list0)
if num % 2 == 0:
num = int(num/2)
list0.append(num)
else:
list0.append(num)
return(list0)
n = int(input('请输入n值:'))
print(newfib(n))
def fib(n):
a,b=1,2
str="";
while n:
str += "%d "%(a);
a,b=b,a+b
if b%2 == 0:
b /= 2
n-=1
print(str);
# -*- coding: cp936 -*-
def newfib(n):
if (n == 1):
return 1
elif (n == 2):
return 2
else:
if (newfib(n-1) + newfib(n-2)) % 2 == 0:
return (newfib(n-1) + newfib(n-2))/2
else:
return newfib(n-1) + newfib(n-2)
N = int(input('请输入一个正整数:'))
total = newfib(N)
print('新Fibonacci数列的第%d项是%d'%(N,total))
def newfib(n):
a, b = 1, 2
thelist =
whileb < n :
if (a + b) % 2 == 0:
a, b =b, int((a + b) / 2)
thelist.append(b)
else:
a, b = b, a + b
thelist.append(b)
for each in thelist:
print(each)
if __name__ =='__main__':
newfib(100)
def f():
q = list(range(1,3))
while True:
yield q
_next = q + q
if _next%2 == 0:
_next //= 2
q = , _next]
while True:
def fib(n):
if n>2 :
f=fib(n-1)+fib(n-2)
if f%2==0:
return f/2
else:
return f
if n==1:
return 1
else:
return 2
t=int(input("请输入n的值:"))
print(int(fib(t)))
def newfib(n):
if n==1:
return 1
if n==2:
return 2
else:
if (newfib(n-1)+newfib(n-2))%2:
return int((newfib(n-1)+newfib(n-2)))
else:
return int((newfib(n-1)+newfib(n-2))/2)
这个比较困难,求答案
不知道啊,真心不知道