Java求10到100000之間的水仙花數(shù)算法示例
本文實(shí)例講述了Java求10到100000之間的水仙花數(shù)算法。分享給大家供大家參考,具體如下:
水仙花數(shù):
概念:水仙花數(shù)是指一個(gè) n 位數(shù) ( n≥3 ),它的每個(gè)位上的數(shù)字的 n 次冪之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
算法思路分析:這個(gè)算法我們分兩個(gè)步驟來(lái)進(jìn)行;第一:我們做一個(gè)求一個(gè)數(shù)的位數(shù)的函數(shù);第二:我們通過(guò)調(diào)用此函數(shù)來(lái)進(jìn)行10到100000之間素?cái)?shù)的計(jì)算!
下面給出具體的代碼(僅供參考):
package javastudy;
public class Testit1 {
public static void main(String[] args) {
for (int number = 100; number <= 100000; number++) { //求10到10000之間所有的素?cái)?shù),一個(gè)大的循環(huán)
int temp = number; //這步代碼是為了讓Getlength(number)不變
int sum = 0;
for (int i = 0; i < Getlength(number); i++) {
sum += Math.pow(temp % 10, Getlength(number)); //次方和相加
temp = temp / 10;
}
if (sum == number) { //判斷是否相等
System.out.print(number+" ");
}
}
}
static int Getlength(int number) { //這個(gè)函數(shù)是為了求一個(gè)數(shù)字的位數(shù)
int i = 0;
while (number / 10 > 0) {
i++;
number /= 10;
}
return i + 1;
}
}
運(yùn)行結(jié)果:

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
簡(jiǎn)單了解java集合框架LinkedList使用方法
這篇文章主要介紹了簡(jiǎn)單了解java集合框架LinkedList使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
防止未登錄用戶操作—基于struts2攔截器的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇防止未登錄用戶操作—基于struts2攔截器的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
Spring常用注解 使用注解來(lái)構(gòu)造IoC容器的方法
下面小編就為大家分享一篇Spring常用注解 使用注解來(lái)構(gòu)造IoC容器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Java如何實(shí)現(xiàn)多個(gè)線程之間共享數(shù)據(jù)
這篇文章主要介紹了Java如何實(shí)現(xiàn)多個(gè)線程之間共享數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
MyBatis-Plus?分頁(yè)查詢的實(shí)現(xiàn)示例
本文主要介紹了MyBatis-Plus?分頁(yè)查詢的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
SpringMVC配置攔截器實(shí)現(xiàn)登錄控制的方法
這篇文章主要介紹了SpringMVC配置攔截器實(shí)現(xiàn)登錄控制的方法,SpringMVC讀取Cookie判斷用戶是否登錄,對(duì)每一個(gè)action都要進(jìn)行判斷,有興趣的可以了解一下。2017-03-03

