单刀直入,这一篇就是关于求阿姆斯壮数的博文
相信对于题目的描述出奇的一致:在一个三位的整数中,形如153=1*1*1+。。。。。。。。。。肯定99%都是这个题目,话不多说,干着!!!
题目给的明确,就是分别求出各个位的数值,咋求呢,这就用到了我们学过的求余求整,合理运用,问题迎刃而解!!!
题目给的153,以153为例,求个位数的3,就是求余
求十位数的5,先求余,再取整
求百位数的1,直接取整!!!
代码附后:(博主亲测,软件,devc++)
{
c语言同理,代码不怎么需要变,输出以及头文件变一下就能用
}
#include<iostream>
#include<cmath>
int main()
{
using namespace std;
int x=100;
int g,s,b;
for(x=100;x<=999;x++)
{
g=x%10;
s=(x%100)/10;
b=x/100;
if(x==g*g*g+s*s*s+b*b*b)
{
cout<<"您输入的"<<x<<"是阿姆斯壮数!"<<endl;
}
}
}
emmm,这里我多补点儿我自己认识到的,算是一点点总结吧
对一个数用10的幂取整,就是留下前面的数字,抹掉后面的数字,例如上面的153对10取整,就是抹掉一位,留下15
对一个数用10的幂求余,就是留下最后的数字,抹掉前面的数字
如有不足,请多指教!!!
我是落雨初晴,坚持原创!!!拒绝抄袭