# 方法1 defnarcissistic_number_1(num): length = len(str(num)) count = length num_sum = 0 while count: num_sum += ((num // 10 ** (count - 1)) % 10) ** length # 注意运算符的优先级 count -= 1 if num_sum == num: print("%d is %d bit narcissistic_number" % (num, length)) else: print("is not a narcissistic number")
# 方法2 defnarcissistic_number_2(num): s = str(num) length = len(s) sum_num = 0 for i in s: sum_num += int(i)**length if sum_num == num: print("%d is a %d bit narcissistic_number" % (num, length) max_num = int(input('请输入最大范围')) # 获取小于指定数的阿姆斯特朗数 for num inrange(0, max_num): narcissistic_number_1(num) #调用方法一,方法二均可
评论