1. 程式人生 > >練習題5:水仙花數

練習題5:水仙花數

ont utf-8 title PE 水仙花 立方和 rst 春天 解法

題目描述

春天是鮮花的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的: “水仙花數”是指一個三位數,它的各位數字的立方和等於其本身,比如:153=1^3+5^3+3^3。 現在要求輸出所有在m和n範圍內的水仙花數。

輸入描述:

輸入數據有多組,每組占一行,包括兩個整數m和n(100 ≤ m ≤ n ≤ 999)。

輸出描述:

對於每個測試實例,要求輸出所有在給定範圍內的水仙花數,就是說,輸出的水仙花數必須大於等於m,並且小於等於n,如果有多個,則要求從小到大排列在一行內輸出,之間用一個空格隔開; 如果給定的範圍內不存在水仙花數,則輸出no; 每個測試實例的輸出占一行。

Python解法:

# -*- coding:utf-8 -*-
"""
水仙花數
"""
import sys


def main():
value = sys.stdin.readline().strip()
data = []
while value != ‘‘:
n, m = map(int, value.split())
m += 1
for i in range(n, m):
first = i % 10
second = i // 10 % 10
third = i // 100
# print(third, second, first)
if i == int(first ** 3 + second ** 3 + third ** 3):
data.append(str(i))
if len(data) == 0:
print(‘no‘)
else:
print(‘ ‘.join(data))
value = sys.stdin.readline().strip()
data.clear()


if __name__ == ‘__main__‘:
main()

練習題5:水仙花數