打卡第4天

一、问题描述: 

若一个三位数等于其各位上数字的立方和,则称这个三位数为水仙花数。编写一个程序,输出所有的水仙花数。

输入格式:

二、设计思路:

  1. 枚举三位数x。

  2. 对x进行按位分离。

  3. 判断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;
}

 

posted @ 2023-04-20 19:45  /张根源/  阅读(43)  评论(0编辑  收藏  举报