什么是水仙花数?
水仙花数指的是一个三位数,它的每位数字的三次幂之和等于它本身
解题思路:
拆分出三位数的每位数字,判断每位数字的三次幂之和是否等于它本身,若等于,则为水仙花数。
实现方法:
1.三位数对10取余,即可得到三位数的个位数值
2.三位数除10,得到二位数,该二位数对10取余,即可得到该二位数的各位数值,即三位数的十位数值
3.三位数除100,即可得到三位数的百位数值
代码如下:
#include<iostream>
using namespace std;
int main()
{
int num = 100;
do
{
//从所有的三位数中找到水仙花数
int a = 0; //代表个位
int b = 0; //代表十位
int c = 0; //代表百位
a = num % 10; //获取个位,如153,153%10得3
b = num / 10 % 10; //获取十位,153/10得15,15%10得5
c = num / 100; //获取百位,153/100得1
if (a * a * a + b * b * b + c * c * c == num) //判断水仙花数
{
cout << num << endl;
}
num++;
} while (num < 1000);
return 0;
}
运行结果如下:
标签:10,int,C++,三位数,num,100,水仙花 From: https://blog.csdn.net/qq_51776293/article/details/137402839