首页 / 算法 / 算法之水仙花数(Java语言)
算法之水仙花数(Java语言)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了算法之水仙花数(Java语言),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1605字,纯文字阅读大概需要3分钟。
内容图文
![算法之水仙花数(Java语言)](/upload/InfoBanner/zyjiaocheng/1233/d5070339b24c46749261af68ad0d9a00.jpg)
概述
在数论中,水仙花数(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number) ,用来描述一个N位非负整数,其各位数字的N次方和等于该数本身。
举例
例如153、370、371及407就是三位超完全数字不变数,其各个数之立方和等于该数:
- 153 = 13 + 53 + 33。
- 370 = 33 + 73 + 03。
- 371 = 33 + 73 + 13。
- 407 = 43 + 03 + 73。
Java算法
1 /** 2 * A Narcissistic number is a number that is the sum of its own digits each 3 * raised to the power of the number of digits. E.g., 0, 1, 2, 3, 4, 5, 6, 7, 8, 4 * 9, 153, 370, 371, 407, 1634, 8208, 9474. 5 */ 6 public class NarcissisticNumberExample { 7 // 判断value是否为水仙花数 8 public static boolean isNarcissisticNumber(int value) { 9int temp = value; 10int digits = 0; 11//判断value有几位数,保存在digits12while (temp > 0) { 13 digits++; 14 temp /= 10; 15 } 16 temp = value; 17int sum = 0; 18while (temp > 0) { 19 sum += Math.pow(temp % 10, digits); 20 temp /= 10; 21 } 22return sum == value; 23 } 2425//开始数和结束数26publicstaticvoid printNarcissistics(int from, int to) { 27int which=0; 28for (int i = from; i <= to; i++) 29if (isNarcissisticNumber(i)){ 30 which++; 31 System.out.println("第"+which+"个水仙数是:"+i); 32 } 333435 } 3637//1000里有几个水仙数38publicstaticvoid main(String[] args) { 39 printNarcissistics(0,1000); 40 } 4142 }
结果
第1个水仙数是:0
第2个水仙数是:1
第3个水仙数是:2
第4个水仙数是:3
第5个水仙数是:4
第6个水仙数是:5
第7个水仙数是:6
第8个水仙数是:7
第9个水仙数是:8
第10个水仙数是:9
第11个水仙数是:153
第12个水仙数是:370
第13个水仙数是:371
第14个水仙数是:407
参考链接:
维基百科:https://zh.wikipedia.org/wiki/%E6%B0%B4%E4%BB%99%E8%8A%B1%E6%95%B0
Java for Beginners-Narcissistic Number: http://primaryjava.blogspot.hk/2013/10/narcissistic-number.html
原文:http://www.cnblogs.com/JumperMan/p/6684040.html
内容总结
以上是互联网集市为您收集整理的算法之水仙花数(Java语言)全部内容,希望文章能够帮你解决算法之水仙花数(Java语言)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。