文章
11
粉丝
414
获赞
9
访问
108.3k
//注释应该可以看懂,欢迎大家一起交流。
//1034水仙花数 (*^-^*)
#include<iostream>
#include<cmath>
using namespace std;
bool judgeNarciNum(int num);
int main()
{
int m, n;
while(cin >> m >> n,m != 0 && n!= 0)
{
int flag = 0;//表示(m,n)区间是否有水仙花数
for(int i = m; i <= n; ++i)
{
if(judgeNarciNum(i))
{
flag = 1;
/*题目要求最后一个数后边也有空格否则
要考虑判断最后一个水仙花数*/
cout << i << " ";
}
}
if(flag == 0)
cout << "no" << endl;
else
cout << endl; //输出格式要求结尾换行
}
return 0;
}
bool judgeNarciNum(int num) //判断是否是水仙花数
{
int temp = num;
int sum[20]; //按位保存num
int count = 0; //计数
int reSum = 0;
while(temp)
{
sum[count++] = temp % 10; //取个位
temp /= 10; //除去个位;
}
for(int i = 0; i < count; ++i)
reSum += pow(sum[i],3);
return reSum == num ? true : false;
}
登录后发布评论
暂无评论,来抢沙发