如果一个n位正整数等于其各位数字的n次方之和

简介: 如果一个n位正整数等于其各位数字的n次方之和

❤ 厾罗  

如果一个n位正整数等于其各位数字的n次方之和

如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。

1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407

以下代码用于检测用户输入的数字是否为阿姆斯特朗数:

实例(Python 3.0+)

# Filename : test.py
# author by : www.dida100.com
# Python 检测用户输入的数字是否为阿姆斯特朗数
# 获取用户输入的数字
num = int(input("请输入一个数字: "))
# 初始化变量 sum
sum = 0
# 指数
n = len(str(num))
# 检测
temp = num
while temp > 0:
   digit = temp % 10
   sum += digit ** n
   temp //= 10
# 输出结果
if num == sum:
   print(num,"是阿姆斯特朗数")
else:
   print(num,"不是阿姆斯特朗数")

尝试一下

 

执行以上代码输出结果为:

$ python3 test.py

请输入一个数字: 345

345 不是阿姆斯特朗数


$ python3 test.py

请输入一个数字: 153

153 是阿姆斯特朗数


$ python3 test.py

请输入一个数字: 1634

1634 是阿姆斯特朗数


获取指定期间内的阿姆斯特朗数

实例(Python 3.0+)

# Filename :test.py
# author by : www.dida100.com
# 获取用户输入数字
lower = int(input("最小值: "))
upper = int(input("最大值: "))
for num in range(lower,upper + 1):
   # 初始化 sum
   sum = 0
   # 指数
   n = len(str(num))
   # 检测
   temp = num
   while temp > 0:
       digit = temp % 10
       sum += digit ** n
       temp //= 10
   if num == sum:
       print(num)

尝试一下

 

执行以上代码输出结果为:

最小值: 1

最大值: 10000

1

2

3

4

5

6

7

8

9

153

370

371

407

1634

8208

9474


以上实例中我们输出了 1 到 10000 之间的阿姆斯特朗数。

相关文章
|
Java 测试技术 开发者
Java单元测试与集成测试:确保代码质量的最佳实践
【4月更文挑战第2天】在软件开发中,单元测试验证单个代码单元(如Java类或方法)的功能,确保其正确性;而集成测试则关注多个组件协作时的交互。JUnit是常见的Java单元测试框架,集成测试则检验组件间接口的兼容性。Spring框架提供了集成测试的支持。遵循良好编码习惯,编写可测试代码,设计全面的测试用例,是保证代码质量和稳定性的关键。
374 0
|
存储 安全 算法
[ web基础篇 ] session,cookie,token 那些事儿 ?
session ?cookie ?token ? 相信大家对这几个词并不陌生,不管是面试还是工作都会有涉及的,可想而知它的重要性。 网上关于 session、cookie、token 的文章有很多,每篇文章都有一些独特的见解。 在写文章之前,我看了很多篇 session、cookie、token 的文章,感觉很多都没有讲的很清楚,泛泛而谈。 在看了这么多的文章之后,我对这几次词又有了不一样的理解,在这里和大家分享一下。
654 0
[ web基础篇 ] session,cookie,token 那些事儿 ?
|
存储 分布式计算 大数据
MaxCompute数据类型映射
MaxCompute数据类型映射
|
JavaScript 前端开发
如何在项目中集成 Babel?
如何在项目中集成 Babel?
334 59
|
存储 分布式计算 Hadoop
HadoopCPU、内存、存储限制
【7月更文挑战第13天】
775 14
|
12月前
|
Unix Linux 虚拟化
VMware Workstation 17.6.2 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.2 发布下载,现在完全免费无论个人还是商业用途
51710 16
VMware Workstation 17.6.2 发布下载,现在完全免费无论个人还是商业用途
|
前端开发
如何处理前端应用程序中的异步操作
前端异步操作常见方法包括回调函数、Promise 和 async/await。回调函数可能导致回调地狱,Promise 提供了更好的错误处理和链式调用,而 async/await 则基于 Promise,以同步风格处理异步任务,提高代码可读性。根据需求和喜好选择相应方法,以实现更可靠、易维护的代码。
|
Go 图形学
【Unity小技巧】3D人物移动脚步和跳跃下落音效控制
【Unity小技巧】3D人物移动脚步和跳跃下落音效控制
312 1
|
数据格式
常用的Lambda表达式案例解析,工作中都会用到!
常用的Lambda表达式案例解析,工作中都会用到!
172 2
uniapp点击tabbar之前做判断
uniapp点击tabbar之前做判断
867 1