水仙花数python代码输入一个介于3到5的正整数_Python练习题——自幂数(水仙花数)...
题目来源:Python语言程序设计(中国大学MOOC)
授课老师:嵩天、黄天羽、礼欣
题目描述:
“3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个”3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用”逗号”分隔输出结果。
代码:
output = []
for d in range(100,1000):
x = d//100
y = (d%100)//10
z = d%10
s = x**3 + y**3 + z**3
if s == d:
output.append(d)
#以下为输出格式调整
for i in range(len(output)):
if i < len(output)-1:
print(output[i], end=',')
else:
print(output[i])
输出结果:
153,370,371,407
自幂数
以下内容来自百度百科:自幂数
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数。)
n为1时,自幂数称为独身数。显然,0,1,2,3,4,5,6,7,8,9都是自幂数;
n为2时,没有自幂数;
n为3时,自幂数称为水仙花数,有4个:153,370,371,407;
n为4时,自幂数称为四叶玫瑰数,共有3个:1634,8208,9474;
n为5时,自幂数称为五角星数,共有3个:54748,92727,93084;
n为6时,自幂数称为六合数,只有1个:548834;
n为7时,自幂数称为北斗七星数,共有4个:1741725,4210818,9800817,9926315;
n为8时,自幂数称为八仙数,共有3个:24678050,24678051,88593477;
n为9时,自幂数称为九九重阳数,共有4个:146511208,472335975,534494836,912985153;
n为10时,自幂数称为十全十美数,只有1个:4679307774。
要求:给定n,计算所有n位数的自幂数
代码一:
n = eval(input()) #n为获取用户输入的整数位数,当n=3时即为计算水仙花数
output = []
for d in range(pow(10,n-1), pow(10,n)):
s = 0
digits = []
for x in range(n):
if x == 0:
digit = d//pow(10,n-1-x)
else:
digit = (d%pow(10,n-x))//pow(10,n-1-x)
digits.append(digit)
for digit in digits:
s += pow(digit, n)
if s == d:
output.append(d)
#print(output)
for i in range(len(output)):
if i < len(output)-1:
print(output[i], end=',')
else:
print(output[i])
代码二:
n = eval(input()) #n为正整数位数
output = []
for d in range(pow(10,n-1), pow(10,n)):
s = 0
digits = []
for x in range(n):
digit = d//pow(10,x)%10
digits.append(digit)
for digit in digits:
s += pow(digit, n)
if s == d:
output.append(d)
print(output)
代码三:
n = eval(input()) #n为正整数位数
output = []
for d in range(pow(10,n-1), pow(10,n)):
s = 0
for digit in str(d):
s += pow(int(digit), n)
if s == d:
output.append(d)
print(output)
更新:
要求:给定任意两个自然数,输出这两个自然数(包含)之间的所有自幂数
a, b = eval(input())
output = []
max = max(a, b)
min = min(a, b)
for d in range(min, max+1):
s = 0
temp = d
l = len(str(d)) #l为当前自然数的位数
while temp:
s = s + (temp%10)**l
temp = temp//10
if s == d:
output.append(d)
print(output)
水仙花数python代码输入一个介于3到5的正整数_Python练习题——自幂数(水仙花数)...相关推荐
- 在python中输入10个整数并求出最大值_python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。...
一:填空题: 1.python是一种面向_对象 __的高级语言. 2.python可以在多种平台运行,这体现了python的___可移植___特性. 3.python源代码被解释器转换后的格式为___ ...
- 三位水仙花数python代码
三位水仙花数python代码 #水仙花数:其各位数字立方和等于该数本身. print("水仙花数有:") for i in range(100,1000):bw=i//100sw= ...
- python9行代码_如何用9行Python代码编写一个简易神经网络
原标题:如何用9行Python代码编写一个简易神经网络 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 学习人工智能时,我给自己定了一个目标--用Pyth ...
- python ray定时_使用 Ray 用 15 行 Python 代码实现一个参数服务器
使用 Ray 用 15 行 Python 代码实现一个参数服务器 参数服务器是很多机器学习应用的核心部分.其核心作用是存放机器学习模型的参数(如,神经网络的权重)和提供服务将参数传给客户端(客户端通常 ...
- python自动化--如何用10行Python代码调一个闹钟 #电脑调闹钟
python自动化--如何用10行Python代码写一个闹钟 前言: 文末彩蛋--轻松一刻 更多关于Python的知识请加关注哟~~.若需联系博主请私信或者加博主联系方式: QQ:1542 ...
- python如何输入一个矩阵_python怎么输入矩阵
python怎么输入一个数组矩阵 下面是基于python3.4的 这样子: 1 2 3 4 import numpy as np arr = [1,2,3,4,5,6,7,8,9] matrix_a ...
- 用Python代码画一个足球(附完整代码)
用Python代码画一个足球(附完整代码) C站举办了世界杯征文活动,本文用Python代码画一个足球. 实现方法介绍 本文的绘图工具使用Python的标准库turtle库,无需安装,导入即可使用. ...
- python月亮_如何用python代码画一个月亮
如何用python代码画一个月亮 发布时间:2020-06-17 15:52:21 来源:亿速云 阅读:181 作者:元一 Python简介 Python是一种跨平台的计算机程序设计语言. 是一个高层 ...
- C语言:输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;
/*输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;*/#include <stdio.h> #include <m ...
最新文章
- JSP第二次作业_7小题
- R语言基础篇——数据对象
- Java:从Java 8开始受益于内联类属性
- Mybatis解析mapper
- UI设计实用素材|2020动画将占据中心舞台
- ZooKeeper之ZkClient使用示例
- Corona Enterprise 引入第三方 jar 包
- python 安装虚拟环境
- Mac大小写切换需长按caps lock键解决办法
- 【Ubuntu】Ubuntu18.04无法识别移动硬盘、U盘解决方法
- 直播绿幕抠图的例子(绿幕抠图直播实例参考)
- 16. 二元随机变量,离散型随机变量分布律
- layer-list的作用和使用方法
- 腾讯全球数字生态大会--散记
- 有奖答题小程序知识问答pk答题app源码
- 经济学方面的电子书挺多
- git 和 linux、_linux和git拔掉
- 详谈短信开发-SMPP的WAP短信协议展开格式
- 《计算机科学》投稿心得
- arcgis像元大小和分辨率_ArcGIS教程:栅格像元大小和重采样
热门文章
- 北斗b2频点频率_北斗系统中“三”的奥秘
- [Windows编程] 如何判断操作系统是64位还是32位
- ()IT 职场经验)一位10年Java工作经验的架构师的经验分享,感觉很受用。
- VMware 虚拟机克隆 CentOS 6.5 之后,网络配置问题的解决方案
- 东部分布式光伏迎来发展高潮
- 《C程序设计新思维》一6.3 不使用malloc的指针
- 《Django实战系列》
- 值转换成布尔类型的False;
- 哈希码以及Object.toString()简单理解
- LeetCode 145 二叉树的后序遍历(非递归)