練習題6

  1. 將一個正整數分解質因數。例如:輸入90,打印出90=233*5。

程序分析:對n進行分解質因數,應先找到一個最小的質數i,而後按下述步驟完成:git

(1)若是分解後商爲1,則說明分解質因數的過程已經結束,打印出便可。app

(2)若是商不爲1,則應打印出i的值,並用n除以i的商,做爲新的正整數進行分解,ide

 重複執行第一步。code

(3)若是n不能被i整除,則i的值加1,重複執行第一步。orm

  1. 猴子吃桃問題:猴子第一天摘下若干個桃子,立即吃了一半,還不癮,又多吃了一個,次日早上又將剩下的桃子吃掉一半,又多吃了一個。之後天天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

程序分析:採起逆向思惟的方法,從後往前推斷。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第一題,寫的比較簡單。。。

相關文章
相關標籤/搜索