python基础练习(三)
1.题目
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
分析:利用for循环进行分离运算
代码
for n in range(100,1000):
i = int(n/100) #取百分位
j = int (n/10)%10 #取十位数字
k = n%10
if n == i**3+j**3+k**3:
print(n)
2.题目:
将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
分析:
对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
代码:
number = int (input"(请输入一个正整数:“))
while number != 1:
for i in range(1,number+1):
if (number % i) == 0 and i !=1:
number = int(number /i)
if number ==1:
print("%d" %i)
else:
print("%d+"%i,end="")
break