-
打印水仙花数··
水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
利用for循环控制100-999个数,每个数分解出个位,十位,百位
方法一
'''
python 打印出所有的"水仙花数"
程序分析:
#水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
利用for循环控制100-999个数,每个数分解出个位,十位,百位
'''
import time
start_time = time.time()
for i in range(1,10):
for j in range(0,10):
for k in range(10):
if i**3 + j**3 + k**3 == i*100 + j*10 + k:
print('{}{}{}'.format(i,j,k))
end_time = time.time()
print('用时{}秒'.format(end_time-start_time))
输出结果:
D:\anaconda\python.exe D:/bilibili大学/python经典习题100道/习题13.py
153
370
371
407
用时0.0009970664978027344秒
Process finished with exit code 0
方法二
import time
start_time = time.time()
for s in range(100,1000):
num = str(s)
if int(num[0])**3 + int(num[1])**3 + int(num[2])**3 == s:
print(s)
end_time = time.time()
print('用时{}秒'.format(end_time-start_time))
输出结果:
D:\anaconda\python.exe D:/bilibili大学/python经典习题100道/习题13.py
153
370
371
407
用时0.0019953250885009766秒
Process finished with exit code 0
-
题目:将一个正整数分解质因数。
例如:输入90, 打印出90 = 2 * 3 * 3 * 5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
- 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
- 如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
- 如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
'''
题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。
'''
n = int(input('请输入一个数字:'))
if n == 1:
print('i = 1')
if n > 1:
li = []
for i in range(2,n+1):
if n%i == 0:
n = n/i
if n == 1:
print(i,end='')
else:
li.append(i)
print(list)
print('*'.join('%s' %id for id in li))
这样也可以:
n = int(input('请输入一个数字:'))
if n == 1:
print('i = 1')
if n > 1:
li = []
for i in range(2,n+1):
if n%i == 0:
n = n/i
if n == 1:
print(i,end='')
else:
li.append(str(i))
print(list)
print('*'.join(li))
输出结果:
D:\anaconda\python.exe D:/bilibili大学/python经典习题100道/习题14.py
请输入一个数字:90
<class 'list'>
2*3*5
Process finished with exit code 0
join()函数的用法参考:https://blog.csdn.net/TCatTime/article/details/85254896
网友评论