当前位置: 代码迷 >> 综合 >> NYOJ - 水仙花数
  详细解决方案

NYOJ - 水仙花数

热度:38   发布时间:2024-01-20 18:22:00.0
描述
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。
输入
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
如果n是水仙花数就输出Yes
否则输出No
样例输入
153
154
0
样例输出
Yes
No
#include <iostream>
using namespace std;
int fun_B(int m)
{return m * m * m;
}
void fun_A(int n)
{int s = 0,sign = n;while(n){s += fun_B(n % 10);n /= 10;}if(s == sign)cout<<"Yes"<<endl;elsecout<<"No"<<endl;
}
int main(void)
{while(1){int n;cin>>n;if(n == 0)return 0;fun_A(n);}
}

  相关解决方案