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ù);第二:我們通過調用此函數(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算法相關內容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
Springboot在有鎖的情況下正確使用事務的實現(xiàn)代碼
這篇文章主要介紹了Springboot在有鎖的情況下如何正確使用事務,今天通過一個實驗給大家分析一下商品超賣問題,模擬場景分析通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2021-12-12Netty網(wǎng)絡編程實戰(zhàn)之搭建Netty服務器
Netty是JBOSS開源的一款NIO網(wǎng)絡編程框架,可用于快速開發(fā)網(wǎng)絡的應用。Netty是一個異步的、基于事件驅動的網(wǎng)絡應用框架,用于快速開發(fā)高性能的服務端和客戶端。本文將詳細說說如何搭建Netty服務器,需要的可以參考一下2022-10-10java動態(tài)代理和cglib動態(tài)代理示例分享
這篇文章主要介紹了java動態(tài)代理和cglib動態(tài)代理示例,JDK1.3之后,Java提供了動態(tài)代理的技術,允許開發(fā)者在運行期間創(chuàng)建接口的代理實例,下面我們使用示例學習一下2014-03-03