BngThea
发表于 2017-8-30 09:12:13
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)
SC小王子
发表于 2017-8-30 10:35:46
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)
小白写的有点烂,见谅
zhangzs
发表于 2017-8-30 10:48:09
1
3134274941
发表于 2017-8-30 15:19:11
对不对{: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))
mmdn
发表于 2017-8-30 16:20:15
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
mmdn
发表于 2017-8-30 16:20:51
看看
不知道干啥
发表于 2017-8-30 18:47:07
本帖最后由 不知道干啥 于 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)
dream_11
发表于 2017-8-30 19:35:15
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))
奔跑的小鸡蛋
发表于 2017-8-31 09:00:09
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
atomplus
发表于 2017-8-31 16:02:40
看看答案对不对
四月之恋
发表于 2017-8-31 17:22:19
来学习
这个胖子有点丑
发表于 2017-8-31 21:00:39
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))
GCZeng
发表于 2017-8-31 23:05:30
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);
schweinfan
发表于 2017-9-1 17:03:10
# -*- 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))
Noregret
发表于 2017-9-1 17:19:27
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)
保登心爱
发表于 2017-9-1 21:18:11
def f():
q = list(range(1,3))
while True:
yield q
_next = q + q
if _next%2 == 0:
_next //= 2
q = , _next]
ChrisYang
发表于 2017-9-2 16:37:54
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)))
小贱剑
发表于 2017-9-2 23:12:33
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)
伶俐
发表于 2017-9-7 17:38:10
这个比较困难,求答案
lihuayuan
发表于 2017-9-11 19:36:06
不知道啊,真心不知道