如何在两个给定整数之间找到阿姆斯特朗数

一个整数被称为 n 阶的阿姆斯特朗数。当它的每一个数字被分开,立方,并加在一起,那么它将导致一个和这个数相同的和,(即 pqrs…= pn+qn+rn+sn+…).

如果有一个三位数的阿姆斯特朗数,则每个数中的立方体总数等于该数本身。

示例:


371 = 3 * 3 * 3 + 7 * 7 * 7 + 1 * 1 * 1  
    = 27 + 343 + 1
    = 371        
Therefore, 371 is an Armstrong number.

在本教程中,我们将学习如何使用 Python 语言在两个给定的整数之间找到阿姆斯特朗数。

例如:


Input: Two Integer Numbers: 1000 10000
Output: Armstrong Numbers Between Two Given Integers: 1634 8208 9474
Explanation: For the Output numbers: 1000 and 10000 are given two integers. (interval)
  1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 + 3 * 3 * 3 * 3 + 4 * 4 * 4 *4  
      = 1 + 1296 + 81 + 256
      = 1634
  8208 = 8 * 8 * 8 * 8 + 2 * 2 * 2 * 2 + 0 * 0 * 0 * 0 + 8 * 8 * 8 * 8  
      = 4096 + 16 + 0 + 4096
      = 8206
  9474 = 9 * 9 * 9 * 9 + 4 * 4 * 4 *4 + 7 * 7 * 7 * 7 + 4 * 4 * 4 *4
      = 6561 + 256 + 2401 + 256 
      = 9474

我们下面使用的方法很简单。我们查看该范围内的所有数字。对于每个数字,我们首先确定其中的位数。使当前数字的小数位数总和为数字“n”。然后我们计算每个数字的第 n 次方的和。如果总和大于“K”,那么我们记录结果。

代码:


# First we will import required module:
import math
lower1 = int(input("Please enter the lower range of the integer: "))
upper1 = int(input("Please enter the upper range of the integer: "))
print("The Armstrong Numbers Between Two Given Integers:")
for num_1 in range(lower1, upper1 + 1):

   # Now, we will set the order of number
   order1 = len(str(num_1))

   # here, we are initializing sum
   sum = 0

   temp1 = num_1
   while temp1 > 0:
       digit1 = temp1 % 10
       sum += digit1 ** order1
       temp1 //= 10

   if num_1 == sum:

       print(num_1)

输出:

Please enter the lower range of the integer:  1000
Please enter the upper range of the integer:  10000
The Armstrong Numbers Between Two Given Integers:
1634
8208
9474

结论

在本教程中,我们讨论了如何使用 Python 编程打印两个给定整数之间的阿姆斯特朗数。


原创文章,作者:NI5SH,如若转载,请注明出处:https://www.506064.com/n/130068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
NI5SHNI5SH
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相关推荐

  • 如何在PyCharm中安装OpenCV?

    本文将从以下几个方面详细介绍如何在PyCharm中安装OpenCV。 一、安装Python 在安装OpenCV之前,请确保已经安装了Python。 如果您还没有安装Python,可…

    编程 2025-04-29
  • 利用Python实现两个链表合并为一个有序链表

    对于开发工程师来说,实现两个链表合并为一个有序链表是必须掌握的技能之一。Python语言在链表处理上非常便利,本文将从多个方面详细阐述如何利用Python实现两个链表合并为一个有序…

    编程 2025-04-29
  • 如何在Python中实现平方运算?

    在Python中,平方运算是常见的数学运算之一。本文将从多个方面详细阐述如何在Python中实现平方运算。 一、使用乘法运算实现平方 平方运算就是一个数乘以自己,因此可以使用乘法运…

    编程 2025-04-29
  • 如何输入三个整数,并输出最大值Python

    对于初学者来说,输入三个整数并输出它们的最大值可能是一个比较基础的问题。然而,它却包含了Python中许多基本知识点的应用,因此学习它可以让我们更好地理解Python编程语言。 一…

    编程 2025-04-29
  • 如何在树莓派上安装Windows 7系统?

    随着树莓派的普及,许多用户想在树莓派上安装Windows 7操作系统。 一、准备工作 在开始之前,需要准备以下材料: 1.树莓派4B一台; 2.一张8GB以上的SD卡; 3.下载并…

    编程 2025-04-29
  • 如何在Python中找出所有的三位水仙花数

    本文将介绍如何使用Python语言编写程序,找出所有的三位水仙花数。 一、什么是水仙花数 水仙花数也称为自恋数,是指一个n位数(n≥3),其各位数字的n次方和等于该数本身。例如,1…

    编程 2025-04-29
  • Python随机生成100内的10个整数

    本文将从以下几个方面详细阐述Python随机生成100内的10个整数: 一、random库介绍 在Python中,生成随机数可以使用random库。random库包括两种类型的函数…

    编程 2025-04-29
  • 如何在代码中打出正确的横杆

    在编程中,横杆是一个很常见的符号,但是有些人可能会在打横杆时出错。本文将从多个方面详细介绍如何在代码中打出正确的横杆。 一、正常使用横杆 在代码中,直接使用“-”即可打出横杆。例如…

    编程 2025-04-29
  • 全能编程开发工程师必备技能——如何优化大整数的计算

    本文将会为你分享如何解决大整数计算问题,以9999999967为例,我们将从多个方面对其做详细阐述,并给出完整的代码示例。 一、大整数的表示方法 在计算机中,我们通常采用二进制数来…

    编程 2025-04-29
  • Python定义两个列表的多面探索

    Python是一种强大的编程语言,开放源代码,易于学习和使用。通过Python语言,我们可以定义各种数据类型,如列表(list)。在Python中,列表(list)在处理数据方面起…

    编程 2025-04-29

发表回复

登录后才能评论