天天看點

經典算法之水仙花數經典算法前言一、什麼是水仙花數?二、代碼實作總結

經典算法

文章目錄

  • 經典算法
  • 前言
  • 一、什麼是水仙花數?
  • 二、代碼實作
  • 總結

前言

水仙花數(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次幂=計數器值。

其他的自幂數都可以寫一下,不明白可以留言。

繼續閱讀