刷题记录8
水仙花数的判断
题目描述
打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=13+53+3^3。
输入
无
输出
输出每一个水仙花数,一个数占一行
代码
#include<iostream>
using namespace std;
int main()
{
int num;
int a,b,c;
cout<<"水仙花数:"<<endl;
for(num=100;num<=999;num++)//数字范围为100-999
{
a=num%10;//num的个位数字
b=num/10%10;//num的十位数字
c=num/100;//num的百位数字
if(num==(a*a*a+b*b*b+c*c*c))//水仙花数的判断条件
cout<<num<<endl;
}
return 0;
}
解题思路
题目中的条件水仙花数是三位数,所以for循环的时候i从100到999就好;
定义三个数a,b,c,分别放这个三位数的百位,十位,个位;
再用一个if语句判断abc的三次方是否等于num,如果等于,输出num就好;
此博客为刷题记录,聚焦水仙花数判断。题目要求打印所有三位数的水仙花数,即各位数字立方和等于该数本身。解题思路是用for循环遍历100到999,定义变量存放百位、十位、个位,用if语句判断是否符合条件,符合则输出。
1309

被折叠的 条评论
为什么被折叠?



