程序分析:对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第一题,写的比较简单。。。