现在的位置: 首页 > 软件测试 > 测试技术 > 软件测试 > 正文

Python自幂数源码

2015年04月07日 测试技术, 软件测试 ⁄ 共 749字 ⁄ 字号 暂无评论 ⁄ 阅读 286 次

本文主要介绍使用Python编写的计算自幂数源代码

所谓自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(如:当n为3时,1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数

自幂数包括:独身数、水仙花数、四叶玫瑰数、五角星数、六合数、北斗七星数、八仙数、九九重阳数、十全十美数等。

代码如下:

 

 

# -*- coding:utf-8 -*-
import math

'''
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数
'''

n=int(input("请输入自幂数位数:\n")) 

if n==1:
	print "独身数:"
	print "0\t"
elif n==2:
	print "两位自幂数:"
	print "没有自幂数!"
elif n==3:
	print "水仙花数:"
elif n==4:
	print "玫瑰花数:"
elif n==5:
	print "五角星数:"
elif n==6:
	print "六合数:"
elif n==7:
	print "北斗七星数:"
elif n==8:
	print "八仙数:"
elif n==9:
	print "九九重阳数:"
elif n==10:
	print "十全十美数:"
else:
	print "其它自幂数:"

#定义一数字,从10^(n-1)开始自加,到10^n结束
for i in range(int(math.pow(10,n-1)),int(math.pow(10,n))):
	num = 0
	for j in str(i):
		num += int(math.pow(int(j), n))
	if i == num:
		print i

运行结果示例

请输入自幂数位数:
3
水仙花数:
153
370
371
407

给我留言

留言无头像?