时间:2021-05-23
如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5^3 + 3^3 = 153。
1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407
1.先来一个简单的代码,判断一个数是否为阿姆斯特朗数;
来看看C++写的
#include <iostream>using namespace std;int main(){ int n, r, sum=0, temp; cout<<"Enter the Number= "; cin>>n; temp=n; while(n>0) { r=n%10; sum=sum+(r*r*r); n=n/10; } if(temp==sum) cout<<"Armstrong Number."<<endl; else cout<<"Not Armstrong Number."<<endl; return 0;}运行结果:
接下来看看Python
num = int(input("请输入一个数字:"))sum= 0n = len(str(num))temp = numwhile temp >0: digit = temp %10 # 获取个位数字 sum += digit**n # 对计算结果进行累加 temp //= 10if num == sum : print("太棒了!",num,"是阿姆斯特朗数")else: print("很遗憾!",num,"不是阿姆斯特朗数")运行结果:
python实现:
lower = int(input("最小值:"))upper = int(input("最大值:"))print("下面是你想要从{}到{}之间的阿姆斯特朗数\n".format(lower,upper))for num in range(lower,upper+1): sum = 0 n = len(str(num)) temp = num while temp >0: digit = temp %10 # 获取个位数字 sum+= digit**n # 对计算结果进行累加 temp //= 10 if num == sum: print(num)运行结果:
C++实现:
#include <iostream>using namespace std;int test(int a,int b,int c,int d){ if(a)return a*a*a*a+b*b*b*b*b+c*c*c*c+d*d*d*d*d; if(b)return b*b*b+c*c*c+d*d*d; if(c)return c*c+d*d; if(d)return d;}void func(int min, int max){ if(min<=0||min>=max||max<0||max>9999) { cout << "error!" << endl; } int a,b,c,d; for(int i=min;i<=max;i++) { a = i/1000; b = (i%1000)/100; c = (i%100)/10; d = i%10; if(i==test(a,b,c,d)) cout << i << endl; }}int main(){ int min,max; cin >> min; cin >> max; func(min,max); system("pause"); return 0;}运行结果展示:
C++太复杂了,就不能向python学学,多友好的语言,学C++心态炸裂的第二天,如果有帮助到你点个关注呗!
到此这篇关于C++和python实现阿姆斯特朗数字查找的文章就介绍到这了,更多相关C++和python阿姆斯特朗数字查找内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、什么是阿姆斯特朗数?如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。一个正整数称为阿姆斯特朗阶数。例:abcd...=an+
本文实例讲述了C++实现raw_input的方法,分享给大家供大家参考。具体方法分析如下:用惯了Python,现在写C++的代码感觉有点不太顺畅。今天就来实例演
本文实例为大家分享了C++实现折半查找的具体代码,供大家参考,具体内容如下折半查找定义:计算机科学中,折半搜索(英语:half-intervalsearch),
C++中实现矩阵的加法和乘法实例实现效果图:实例代码:#includeusingnamespacestd;classMatrix{introw;//矩阵的行in
原理python没有办法直接和c++共享内存交互,需要间接调用c++打包好的库来实现流程C++共享内存打包成库python调用C++库往共享内存存图像数据C++