练习题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第一题,写的比较简单。。。

相关文章
相关标签/搜索