C++和python实现阿姆斯特朗数字查找实例代码

 更新时间:2020年12月07日 14:21:23   作者:鹏鹏写代码  
这篇文章主要给大家介绍了关于C++和python实现阿姆斯特朗数字查找的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.题目解释

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

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

2.判断一个数是否为阿姆斯特朗数

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= 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,"不是阿姆斯特朗数")

运行结果:

2.写一个查找固定范围内的阿姆斯特朗数

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阿姆斯特朗数字查找内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 字典和列表嵌套用法详解

    python 字典和列表嵌套用法详解

    python中字典和列表的使用,在数据处理中应该是最常用的,今天通过多种场景给大家分享python 字典和列表嵌套用法,感兴趣的朋友一起看看吧
    2021-06-06
  • Python3如何在服务器打印资产信息

    Python3如何在服务器打印资产信息

    这篇文章主要介绍了Python3如何在服务器打印资产信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Python单元测试的9个技巧技巧

    Python单元测试的9个技巧技巧

    这篇文章主要给大家分享的是Python单元测试常见的几个技巧,文章会讲解requests的一些细节实现以及pytest的使用等,感兴趣的小伙伴不妨和小编一起阅读下面文章 的具体内容吧
    2021-09-09
  • python中赋值语句的特点和形式

    python中赋值语句的特点和形式

    这篇文章主要介绍了python中赋值语句的特点和形式,文中介绍了多目标赋值的共享引用问题,多目标赋值其实是多个目标对同一个内存空间的引用,这里要分两种情况,当被引用对象是不可变对象时则不存在问题,感兴趣的朋友跟随小编一起看看吧
    2023-12-12
  • 利用python画一颗心的方法示例

    利用python画一颗心的方法示例

    最近工作中要用到python的统计和绘图功能,无意间搜索到了这个,还挺有意思的。就分享给大家,下面这篇文章主要介绍了利用python画一颗心的方法示例,需要的朋友可以参考借鉴,一起来看看吧。
    2017-01-01
  • TensorFlow搭建神经网络最佳实践

    TensorFlow搭建神经网络最佳实践

    这篇文章主要为大家详细介绍了TensorFlow搭建神经网络最佳实践,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • python双端队列原理、实现与使用方法分析

    python双端队列原理、实现与使用方法分析

    这篇文章主要介绍了python双端队列原理、实现与使用方法,结合实例形式分析了Python双端队列的概念、原理、定义及使用方法,需要的朋友可以参考下
    2019-11-11
  • python BytesIO 中 read 用法示例详解

    python BytesIO 中 read 用法示例详解

    这篇文章主要介绍了python BytesIO 中 read 用法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • python中copy和deepcopy的使用区别

    python中copy和deepcopy的使用区别

    本文主要介绍了python中copy和deepcopy的使用区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • 如何利用python正确地为图像添加高斯噪声

    如何利用python正确地为图像添加高斯噪声

    这篇文章主要给大家介绍了关于如何利用python正确地为图像添加高斯噪声的相关资料,需要的朋友可以参考下
    2022-03-03

最新评论