打卡第4天
一、问题描述:
若一个三位数等于其各位上数字的立方和,则称这个三位数为水仙花数。编写一个程序,输出所有的水仙花数。
输入格式:
二、设计思路:
-
枚举三位数x。
-
对x进行按位分离。
-
判断x是否为水仙花数,并输出。
三、程序流程图
四、伪代码实现:
开始
for i=100 to 999 do
a = i / 100
b = i % 100 / 10
c = i % 10
if a*a*a+b*b*b+c*c*c == i then
输出 i
end if
end for
结束
五、代码实现
#include <iostream>
using namespace std;
int main()
{
int i=0,a=0,b=0,c=0;
for(i=100;i<1000;i++) //枚举三位数
{
a=i/100; //分离出百位
b=(i%100)/10; //分离出十位
c=i%10; //分离出个位
if((a*a*a+b*b*b+c*c*c)==i) //判断是否为水仙花数
{
cout << i << endl; //输出水仙花数
}
}
return 0;
}