用Python编程语言来实现阿姆斯特朗数的检查

上一篇 / 下一篇  2020-12-24 13:04:28

  一、什么是阿姆斯特朗数?
  如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
  一个正整数称为阿姆斯特朗阶数。
  例:
  abcd... = an + bn + cn + dn + ... 
  如果是3位的阿姆斯特朗数字,则每个数字的立方和等于该数字本身。
  例如:
  #153 = 1*1*1 + 5*5*5 + 3*3*3  // 153是一个阿姆斯特朗数。 
  二、案例
  1. 检查阿姆斯特朗数(3位数字)
  例 :
  # 检查该数字是否为阿姆斯壮数字的Python程序 
   
  # 接受用户的输入 
  num = int(input("输入一个数字: ")) 
   
  # 初始化sum 
  sum = 0 
   
  # 求出每个数字的立方和 
  temp = num 
  while temp > 0: 
     digit = temp % 10 
     sum += digit ** 3 
     temp //= 10 
   
  # 显示结果 
  if num == sum: 
     print(num,"是阿姆斯特朗数") 
  else: 
     print(num,"不是阿姆斯特朗数") 
  输出1
  输出2
  代码解析:
  要求用户输入一个数字,然后检查它是否是一个阿姆斯特朗数字,需要计算每个数字的立方和。
  因此,将总和初始化为0,并使用模运算符(%)获得每个数字。将数字除以10所得的余数是该数字的最后一位。使用指数运算符获取多维数据集。
  最后,将总和与原始数字进行比较,得出结论,如果相等,则是阿姆斯特朗数。
  2. 检查是阿姆斯特朗的n位数字
  例:
  num = 1634 
   
  # 将num变量更改为string 
  # 并计算出长度(位数) 
  order = len(str(num)) 
   
  # 初始化 sum 
  sum = 0 
   
  # 求出每个数字的立方和 
  temp = num 
  while temp > 0: 
      digit = temp % 10 
      sum += digit ** order 
      temp //= 10 
   
  # 显示结果 
  if num == sum: 
      print(num, "是阿姆斯特朗数") 
  else: 
      print(num, "不是阿姆斯特朗数") 
  运行结果:
  注:
  读者可以更改源代码中num的值,然后再次运行以对其进行测试
  3. 在整数中查找阿姆斯特朗数
  例:
  # Python程序在整数中查找阿姆斯特朗数 
   
  lower = 100 
  upper = 2000 
   
  for num in range(lower, upper + 1): 
   
      # order 个数 
      order = len(str(num)) 
   
      # 初始化 sum 
      sum = 0 
   
      temp = num 
      while temp > 0: 
          digit = temp % 10 
          sum += digit ** order 
          temp //= 10 
   
      if num == sum: 
          print(num) 
  运行结果:
  注:
  在变量lower中设置了下限100,在变量upper中设置了上限2000。
  使用了for循环来从变量lower到upper进行迭代。在迭代中,lower的值增加1,并检查它是否为阿姆斯特朗数。
  可以更改范围并通过更改变量lower和upper进行测试。该变量lower应小于upper此程序才能正常运行。
  三、总结
  本文基于Python基础,介绍了什么是阿姆斯特朗数,以及如何去判断,检查阿姆斯特朗数,检查是阿姆斯特朗的n位数字,在整数中查找阿姆斯特朗数。都通过案例的分析,代码的演示,效果的展示,进行有效的分析。
  使用Python语言,能够让读者更好的理解。在实际项目中遇到的问题,难点,提供了有效的解决方案,供读者参考。
  代码很简单,希望能够帮读者更好的学习。

TAG: 软件开发 Python

 

评分:0

我来说两句

Open Toolbar