python【20】输入2个正整数m和n(1<=m,n<=1000),输出m和n之间所有满足的各位数字的立方和等于它本身的数。

题目:

输入2个正整数m和n(1<=m,n<=1000),
输出m和n之间所有满足的各位数字的立方和等于它本身的数。

代码:

def find_cubic_numbers(m, n):
    # 定义一个名为find_cubic_numbers的函数,它接受两个参数,分别是m和n
    m3 = []
    for num in range(m, n+1):
        temp = num
        # 为了计算一个数字的立方和,我们需要先将这个数字存储在temp中。
        sum_of_cubes = 0
        # 初始化一个变量sum_of_cubes为0,用来存储各位数字的立方和。
        while temp > 0:
            # 当temp大于0时,我们开始循环,直到temp变为0
            digit = temp % 10
            # 使用模运算符%,我们可以得到temp的最后一位数字
            sum_of_cubes += digit ** 3
            # 我们将这个数字的立方加到sum_of_cubes中。
            temp //= 10
            # 我们将temp除以10,这样就可以去掉它的最后一位数字。
        if sum_of_cubes == num:
            # 如果数字的立方和等于这个数字本身,那么我们进行下一步。
            m3.append(num)
    return m3

m = int(input("请输入第一个正整数m:"))
n = int(input("请输入第二个正整数n:"))
result = find_cubic_numbers(m, n)
# 调用函数find_cubic_numbers,并将结果存储在变量result中。
print("在范围[{}, {}]内,满足各位数字立方和等于它本身的数有:".format(m, n))
# ".format(m, n)):打印一个消息,告诉用户在给定的范围内有哪些数字满足条件。
print(result)

你可能感兴趣的:(python,python)