1、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
for i in range(100,1000):
sum = 0
for j in str(i):
sum += (int(j)) ** 3
if i == sum:
print(i)
输出:
153
370
371
407
2、将一个正整数分解质因数。例如:输入90,打印出90=233*5。
分析::对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
from math import sqrt
while 1:
num = int(input("请输入一个数:"))
print("{}=".format(num),end="")
if num == 1:
print(num)
else:
while 1:
for i in range(2,int(sqrt(num)+1)):
if num%i==0:
print("{}*".format(i),end="")
num = int(num/i)
break
else:
print(num)
break