前言:
如今咱们对“python开n次方函数怎么写”都比较着重,我们都需要剖析一些“python开n次方函数怎么写”的相关资讯。那么小编在网摘上收集了一些对于“python开n次方函数怎么写””的相关内容,希望朋友们能喜欢,大家快快来了解一下吧!如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。
例如:
当n=3时,其各个数之立方和等于该数,又称水仙花数。
1^3+5^3+3^3=153
n=4
1^4+6^4+3^4+4^4=1634
153、1634都称为阿姆斯特朗数
对于给定数n,n%10获取最后一位数,n//10获取去掉最后一位数的新整数,循环迭代,计算求和,与给定数比较。
代码说明:
import math:导入数学模块,使用pow()函数
定义order()函数,获取给定数的位数
定义isArmstrong()函数,对给定数进行验证
return sum1==x,如果给定数等于各位数n次方之和,返回True,即是阿姆斯特朗数;否则,返回False,不是阿姆斯特朗数。
进一步简化程序代码
第3行,将给定正整数转换为字符串,使用len()函数计算位数。
第7行,使用算术运算符**计算乘方。
将输入数字转换为字符串并循环访问字符串中的每个数字,转换为数值计算乘方,并求和。如果最终的总和等于输入数,则为阿姆斯特朗数。
文中涉及代码:
import mathdef order(x): n=0 while x!=0: n=n+1 x=x//10 return ndef isArmstrong(x): n=order(x) temp=x sum1=0 while temp!=0: r=temp%10 sum1=sum1+math.pow(r, n) temp=temp//10 return sum1==xx=153if isArmstrong(x): print(f"{x}是阿姆斯特朗数!")else: print(f"{x}不是阿姆斯特朗数!")def isArmstrong(num): num_str=str(num) n=len(num_str) sum=0 for i in num_str: sum+=int(i)**n if sum == num: return True else: return Falsenum=153if isArmstrong(num): print(f"{num}是阿姆斯特朗数!")else: print(f"{num}不是阿姆斯特朗数!")n=1634 s=n b=len(str(n))sum1=0while n!=0: r=n%10 sum1=sum1+(r**b) n=n//10if s==sum1: print(f"{s}是阿姆斯特朗数!")else: print(f"{s}是阿姆斯特朗数!")
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!