杰网资源 Design By www.escxy.com
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= ";
cinn;
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++心态炸裂的第二天,如果有帮助到你点个关注呗!
杰网资源 Design By www.escxy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
杰网资源 Design By www.escxy.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。







