經典算法
文章目錄
- 經典算法
- 前言
- 一、什麼是水仙花數?
- 二、代碼實作
- 總結
前言
水仙花數(Narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自幂數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),水仙花數是指一個 3 位數,它的每個位上的數字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153(百度百科)。
提示:以下是本篇文章正文内容,下面案例可供參考
一、什麼是水仙花數?
水仙花數隻是自幂數的一種,嚴格來說3位數的3次幂數才稱為水仙花數。
附:其他位數的自幂數名字
一位自幂數:獨身數
三位自幂數:水仙花數
四位自幂數:四葉玫瑰數
五位自幂數:五角星數
六位自幂數:六合數
七位自幂數:北鬥七星數
八位自幂數:八仙數
九位自幂數:九九重陽數
十位自幂數:十全十美數。
實作三位自幂數:水仙花數
其餘的自幂數,隻要你了解水仙花數身下都可以了解。
二、代碼實作
public class 水仙花數 {
public static void main(String[] args) {
//定義一個計數器變量
int i=100;
do {
//取出個位
int g=i%10;
//取出十位
int s=(i/10)%10;
//取出百位
int b=i/100;
if((g*g*g+s*s*s+b*b*b)==i){
System.out.println(i);
}
//計數器加一
i++;
}while(i<1000);
}
}
效果截圖:1000以内水仙花數。
總結
實作邏輯:定義一個計數器變量(根據你要實作的自幂數位數),以三位自幂數為例:取出個位,取出十位,取出百位,個位3次幂+十位3次幂,百位3次幂=計數器值。
其他的自幂數都可以寫一下,不明白可以留言。