下面所有答案均没有考虑算法复杂度
test 8-6
def isprime(int_):
for i in range(2,int_-1):
if (int_%i==0):
return False
return True
def getfactors(int_):
flist=[1]
for i in range(2,int_+1):
if (int_%i==0):
flist.append(i)
int_=int_/i
i=2
return flist
number=int(input("enter number:"))
if isprime(number):
print("you enter a prime")
else:
print(getfactors(number))
test 8-7
def isprime(int_):
for i in range(2,int_-1):
if (int_%i==0):
return False
return True
def getfactors(int_):
flist=[1]
for i in range(2,int_+1):
if (int_%i==0):
flist.append(i)
int_=int_/i
i=2
return flist
def isperfect(int_):
count = 0
for i in getfactors(int_):
count +=i
if(count==int_):
return 1
else:
return 0
number=int(input("enter number:"))
if isprime(number):
print("you enter a prime")
else:
print(isperfect(number))
test 8-8
def factorial(int_):
count=1
for i in range(1,int_+1):
count = count * i
return count
number = int(input("enter a number"))
print(factorial(number))
test 8-9
def Fibonacci(int_):
flist=[1,1]
if int_ >1:
for i in range(2,int_):
temp = flist[i-1] +flist[i-2]
flist.append(temp)
return flist[int_-1]
number = int(input("enter a number:"))
print(Fibonacci(number))