案例描述:水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身例如:
1A3+5A3+3A3=153
请利用do....while语句,求出所有3位数中的水仙花数
分析思路:
1、将所有的三位数进行输出(100~999)
2、在所有三位数中找到水仙花数
水仙花数153
获取个位:153%10 = 3
获取十位:153 / 10 = 15 ,15 % 10 = 5
获取百位:153 / 100 = 1
判断:个位^3+十位^3+百位^3 = 本身
cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
int num = 100;
do{
int a= 0;
int b= 0;
int c= 0;
int d= 0;
a = num % 10; //个数
b = num / 10 % 10; //十位
c = num /100; //百位
d = a*a*a + b*b*b + c*c*c;
if(d==num){
cout<<num<<endl;
}
num++; //do-while循环
}
while(num<1000);
return 0;
}