Java求10到100000之間的水仙花數(shù)算法示例
本文實例講述了Java求10到100000之間的水仙花數(shù)算法。分享給大家供大家參考,具體如下:
水仙花數(shù):
概念:水仙花數(shù)是指一個 n 位數(shù) ( n≥3 ),它的每個位上的數(shù)字的 n 次冪之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
算法思路分析:這個算法我們分兩個步驟來進行;第一:我們做一個求一個數(shù)的位數(shù)的函數(shù);第二:我們通過調(diào)用此函數(shù)來進行10到100000之間素數(shù)的計算!
下面給出具體的代碼(僅供參考):
package javastudy;
public class Testit1 {
public static void main(String[] args) {
for (int number = 100; number <= 100000; number++) { //求10到10000之間所有的素數(shù),一個大的循環(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) { //這個函數(shù)是為了求一個數(shù)字的位數(shù)
int i = 0;
while (number / 10 > 0) {
i++;
number /= 10;
}
return i + 1;
}
}
運行結果:

更多關于java算法相關內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
防止未登錄用戶操作—基于struts2攔截器的簡單實現(xiàn)
下面小編就為大家?guī)硪黄乐刮吹卿浻脩舨僮鳌趕truts2攔截器的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
Java如何實現(xiàn)多個線程之間共享數(shù)據(jù)
這篇文章主要介紹了Java如何實現(xiàn)多個線程之間共享數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11

