了解水仙花数
创作时间:
作者:
@小白创作中心
了解水仙花数
引用
CSDN
1.
https://m.blog.csdn.net/m0_66359935/article/details/143196047
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一个 n 位数(n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153是一个典型的水仙花数,因为1^3 + 5^3 + 3^3 = 153。
水仙花数的定义和性质
- 定义:水仙花数是指一个 n 位数(n≥3),其各位数字的 n 次幂之和等于该数本身。例如,1^3 + 5^3 + 3^3 = 153。
- 性质:水仙花数在数学上具有独特的性质,其各位数字的幂次和等于该数本身,这使得水仙花数在数学研究中具有一定的趣味性和研究价值。
水仙花数的范围和数量
- 范围:水仙花数通常指的是三位数,但也可以存在于更多位数中。例如,十进制自然数中的所有水仙花数共有88个,其中最大的水仙花数有39位。
- 具体数值:一些常见的水仙花数包括153、370、371和407。此外,还有一些更高位数的水仙花数,如1634、8208和9474
Java程序实现
下面是一个Java程序,用于找出0~999之间的所有水仙花数:
public static void main(String[] args) {
//153=1^3 + 5^3 + 3^3
for (int i = 0; i < 999999; i++) {
int count = 0;
int temp = i;
while(temp != 0){
count++;
temp = temp / 10;
}
//count的值 是多少已经计算完成 i还是没有变
//计算i[temp]的每一位
temp = i;
int sum = 0;
while(temp != 0){
sum += Math.pow(temp%10,count);
temp /= 10;
}
if(sum == i){
System.out.println(i);
}
}
}
这个程序通过两层循环实现:外层循环遍历0到999999之间的所有数字,内层循环计算每个数字的位数和各位数字的n次幂之和。如果计算结果等于原数字,则输出该数字。
热门推荐
会计如何进行资产管理:全面解析与实战指南
千万次重复换来0.1%的进步 一个特教老师的四年坚守
东吴国力是蜀国的两倍,陆逊为什么不像诸葛亮一样北伐?
科技自立自强:中国北斗卫星导航系统的创新之路
如何购买港股?购买港股时需要考虑哪些因素?
肿瘤患者康复期指南:十大要点助力科学防癌
香港身份证号码格式图解:从星号到字母的完整解读
这几类人推荐使用“低钠盐”
WiFi使用技巧全解析:基础设置到高级优化,畅享高速网络
科普:笔记本一直插着充电使用,会损伤电池吗?
中国家长取名偏爱的“梓”是什么树?
“梓”字的读音、含义与文化背景全面解析
服装面料大揭秘:种类繁多,各有千秋
官印的意義及其在法律、商業中的應用
专项经费申请的流程是什么?
维西县人民法院开展酒驾庭审观摩警示教育活动
从《邻家诗话》走进中国射艺,弓箭文化究竟有何魅力?
如何求最大生成树?
延期开庭申请怎么提交材料
河南文化自信,尽在只有河南
家庭用制氧机几升的最好?3分钟教会你避坑
如何办理郑州的户口迁移手续?这种办理方式是否适用于所有居民?
环保 logo 设计:可持续发展的美学
探寻抗战工业记忆,传承工业西迁精神
免疫印迹法:揭开艾滋病毒检测的新篇章
环境空气质量标准启动修订 PM2.5等污染物排放将迎更严管控
“开盒”事件频发,如何用隐私信息管理体系认证守护信息安全!
计算机体系结构笔记
三国十大防守名将:曹仁当属第一!
画蛇添足成语故事:原来背后藏着这样的深意,让你意想不到!