程序分析:對n進行分解質因數,應先找到一個最小的質數i,而後按下述步驟完成:git
(1)若是分解後商爲1,則說明分解質因數的過程已經結束,打印出便可。app
(2)若是商不爲1,則應打印出i的值,並用n除以i的商,做爲新的正整數進行分解,ide
重複執行第一步。code
(3)若是n不能被i整除,則i的值加1,重複執行第一步。orm
程序分析:採起逆向思惟的方法,從後往前推斷。input
1,將一個正整數分解質因數it
num = input('please input number:')form
list1 = list()class
Flag = 1程序
while Flag:
for i in range(2,num+1): if num%i==0: list1.append(i) num/=i if num==1: Flag-=1 break eles: break
print list1
2,猴子偷桃
x = 1
for i in range(9):
x = x*2 + 2
print x
2017-12-27 14:27 添加評論 評分
0靈度淚 - 賣痛風藥的
#1,將一個正整數分解質因數
while 1:
n = input("請輸入大於2的整數:")
if (not n.isdigit()) or (int(n) < 2):
print("請輸入正確的數字.")
else:
n = int(n)
break
while n != 1:
for i in range(2, n + 1):
if n % i == 0:
print("{}".format(i), end=" ")
n = n // i
break
#2,猴子偷桃
peach = 1 # 第10天所剩下的桃子
day = 1 # 天數從1開始,邏輯不容易出錯
while day < 10: # 由於第10天只剩下1個桃子,因此只要反推9天
peach = (peach + 1) * 2 # 公式算前一天桃子數
day += 1
print ("第一天共摘了{}個桃子".format(peach))
2017-12-27 23:40 添加評論 評分
0agh353272297
一、正整數分解質因數
def fun(n):
for i in range(2, n / 2 + 1): if n % i == 0: print(i), print("*"), return fun(n / i) print(n),
if name == "main":
i = int(input("輸入數的數爲: ")) fun(i)
二、猴子吃桃
num = 1
for i in range(9, 0, -1):
num = (num + 1) * 2
print('第一天共摘了%s個桃子' %num)
2017-12-28 10:53 添加評論 評分
0shuaizy_2016
num = int(input('請輸入一個數字:'))if num <= 2:print("please input number >= 2")else:i = 2while i>=2:if (num % i) != 0:i = i + 1continueelif (num % i) == 0:print(i)num = num / iif num != 1:continueif num == 1:break第一題,寫的比較簡單。。。