自助游网站开发分析报告,高端建站服务商,项目负责人质量建设厅官方网站,珠海网站制作公司欢迎关注个人主页#xff1a;逸狼 创造不易#xff0c;可以点点赞吗~ 如有错误#xff0c;欢迎指出~ 题述
求出0#xff5e;100000之间的所有“水仙花数”并输出。
“水仙花数”是指一个n位数#xff0c;其各位数字的n次方之和确好等于该数本身#xff0c;如:153#… 欢迎关注个人主页逸狼 创造不易可以点点赞吗~ 如有错误欢迎指出~ 题述
求出0100000之间的所有“水仙花数”并输出。
“水仙花数”是指一个n位数其各位数字的n次方之和确好等于该数本身如:1531^35^33^3则153是一个“水仙花数”。 我们要先了解水仙花数他是自幂数的一种 思路
此题的关键在于只要知道判断一个数据是否为水仙花数的方式问题就迎刃而解。假定给定一个数据data方法如下 1. 求取data是几位数 2. 获取data中每位上的数据并对其进行立方求和 3. 对data中每个位上的数据立方求和完成后在检测其结果是否与data相等即可 相等则为水仙花数否则不是
代码实现
#include stdio.h
#include math.hint main()
{int i 0;for(i0; i99999; i){int count 1;int tmp i;int sum 0;//判断i是否为水仙花数//1. 求判断数字的位数while(tmp/10){count;tmp tmp/10;}//2. 计算每一位的次方和tmp i;while(tmp){sum pow(tmp%10, count);tmp tmp/10;}//3. 判断if(sum i)printf(%d \n, i);}return 0;
}
运行结果