水仙花数:一个三位数的每一个数字的三次方之和都等于其本身。
#include<iostream>
using namespace std;
int main() {
int num = 100; //定义一个num等于100(最小的三位数)
do {
int a = 0; //定义abc为num的每位的数字
int b = 0;
int c = 0;
a = num % 10; //个位
b = num / 10 % 10; //十位
c = num / 100; //百位
if (a * a * a + b * b * b + c * c * c == num) {
cout << num << endl;
}
num++;
} while (num < 1000);
}
do...while的语法为do(循环语句)while{循环条件};,首先定义一个num等于100,最小的三位数为100,在do 循环语句里定义abc为num每位的数字,求个位的方法为对10取模,求百位的方法为先除以10再对十进行取模即可得到十位,求百位的方法为直接除以100。再添加一个if语句,然后num自增。while的循环条件为这个数num小于1000(最小的四位数)。
注意:do...while语句是先执行一次循环语句,再判断循环条件。