黑馬程式設計師——階乘的兩種實現方法及水仙花數的列印
需求:分別使用迴圈和遞迴列印5的階乘
列印水仙花數:指一個三位數,其各位數字的立方和等於該數本身。/* * 兩種方式實現求5的階乘 * 1.迴圈 * 2.遞迴 */ public class Factorial5 { public static void main(String[] args) { System.out.println(factorialM1(5)); System.out.println(factorialM2(5)); } // 寫一個使用迴圈求n的階乘的方法 public static int factorialM1(int n) { int y = 1; for (int x = 1; x <= n; x++) { y *= x; } return y; } // 寫一個使用遞迴求n的階乘的方法 /* * 分析: * 如果n==1,return n; * 如果n!=1,return n*jc(n-1) */ public static int factorialM2(int n) { if(n==1){ return n; }else{ return n*factorialM2(n-1); } } }
/* * 列印水仙花數 * 所謂的水仙花數是指一個三位數,其各位數字的立方和等於該數本身。 * 分析: * 3位數指明瞭範圍是100-999,可以使用for來限定範圍 * 分別獲取各位上的數,判斷該數是不是水仙花數,如果是則列印 * 獲取個位數:n%10 * 獲取十位數:n/10%10 * 獲取百位數:n/100%10 * */ public class PrintDaffodil { public static void main(String[] args) { for(int x=100;x<1000;x++){ int ge = x%10; int shi = x/10%10; int bai = x/100%10; if(ge*ge*ge+shi*shi*shi+bai*bai*bai==x){ System.out.println(x); } } } }
相關推薦
黑馬程式設計師——階乘的兩種實現方法及水仙花數的列印
------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! ------- 需求:分別使用迴圈和遞迴列印5的階乘 /* * 兩種方式實現求5的階乘 * 1.迴圈 *
微信小程式下拉載入和上拉重新整理兩種實現方法
方法一:onPullDownRefresh和onReachBottom方法實現小程式下拉載入和上拉重新整理 首先要在json檔案裡設定window屬性 屬性
微信小程式模板訊息的兩種實現方式
最近在做微信小程式,為了讓使用者能更加方便的獲取到小程式內部的通知,便想著用模板訊息來解決此類問題。首先介紹一下兩種方法 第一種是傳統的按照微信開發文件來實現模板訊息的獲取,首先要明確的是你要有一個第三方的伺服器,因為微信現在規定在小程式內部不能直接請求微信的伺服器,而是要
android縮放動畫的兩種實現方法
get odi omx rac tor Coding eight rpo odin 在android開發。我們會常常使用到縮放動畫,普通情況下縮放動畫有兩種實現方式。一種是直接通過java代碼去實現,第二種是通過配置文件實現動畫,以下是兩種動畫的基本是用法: Ja
a超鏈接之返回頂部的兩種實現方法
html name remove 分享圖片 pla 位置 rem src position 1.通過css實現: 為頁面頂部如body或者自己設置的盒子等加上唯一id屬性 <body id="id"> .... <a href="#id">返回頂部
快速排序的兩種實現方法(js)
while 交換 splice rt+ dex 進行 return ont mat 快速排序的基本思想:通過一趟排序,將待排記錄分割成獨立的兩部分,其中一部分記錄的關鍵字均比另外一部分記錄的關鍵字小,則可分別對著兩部分記錄繼續進行排序,以達到整個序列有序的目的。------
執行緒有兩種實現方法的具體區別
Java中有兩種實現多執行緒的方式。一是直接繼承Thread類,二是實現Runnable介面。那麼這兩種實現多執行緒的方式在應用上有什麼區別呢? 第一種方式:使用Runnable介面建立執行緒第二種方式:直接繼承Thread類建立物件使用Runnable介面建立執行緒1.可
最短路徑Dijkstra的兩種實現方法
1、Dijkstra單源最短路,鄰接矩陣形式(權值是非負)/* 單源最短路徑,Dijkstra演算法,鄰接矩陣形式,複雜度為O(n^2) 求出源beg到所有點的最短路徑,傳入圖的頂點數,和鄰接矩陣cost[][] 返回個點的最短路徑dist[],路徑pre[].pre[
單例模式的兩種實現方式及區別
1:類載入時進行物件的例項化: public class SingletonA { //SingletonA的唯一例項 private static SingletonA instance = new SingletonA(); //將建構函式私有,防止外界構造Sin
關於把一個無符號數的二進位制位翻轉的兩種實現方法
#include <stdlib.h> #include <stdio.h> #include <math.h> unsigned int reserve_bit(u
Java動態代理的兩種實現方法
AOP的攔截功能是由java中的動態代理來實現的。說白了,就是在目標類的基礎上增加切面邏輯,生成增強的目標類(該切面邏輯或者在目標類函式執行之前,或者目標類函式執行之後,或者在目標類函式丟擲異常時候執行。不同的切入時機對應不同的Interceptor的種類,如BeforeAd
PHP查詢資料庫中滿足條件的記錄條數(兩種實現方法)
第一種方法:查詢時候直接統計 複製程式碼 程式碼如下: $sql="SELECT COUNT(*) AS count FROM TABLE WHERE id='$id'"; $result=mysql_fetch_array(mysql_query($sql)); $count=$result['cou
計時器的 time_t 和 clock_t 兩種實現方法
想給自己初步完成的相空間搜尋演算法計算一下執行時間,於是嘗試瞭如下使用 time_t 型別的方式 #include <stdlib.h> #include <iostream> #include <time.h> #inc
java面試題:java中的單例設計模式及兩種實現方法的程式碼舉例
java面試時經常會問到關於單例設計模式,因為它能考察的知識點較多且在開發中經常用到。那我就來說一說我對於單例設計模式的一些淺見。首先,在Java中,什麼是單例呢?就是保證類在記憶體中只有一個物件。那麼
linux fork() 程序樹的兩種實現方法
Linux fork()程序樹的兩種實現方法 剛完成作業系統的實驗一,其中附加題是使用fork()實現一顆滿二叉樹形態的程序樹,覺得好玩,做完之後就記錄一下。 1. 暴力的做法 最簡單粗暴的做法,當然就是直接把層數寫死啦。例如要建立三層的程序樹,就
Android 文字自動滾動(跑馬燈)效果的兩種實現方法[特別好使]
public AutoScrollTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initView(); }
判斷機器大小端的兩種實現方法
大端模式(Big-endian): 是指資料的低位(就是權值較小的後面那幾位)儲存在記憶體的高地址中,而資料的高位,儲存在記憶體的低地址 中,這樣的儲存模式有點兒類似於把資料當作字串順序處理:地址由小
Android 文字自動滾動(跑馬燈)效果的兩種實現方法
public AutoScrollTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); initView(); }
C++類物件共享資料的兩種實現方法
class sample { private:char *m_pArray;static int m_sCount; size_t m_size; public:sample(){ m_size = 20;m_pArray = new char[m_size];memset(m_pArray, 0, m_si
Java判斷單鏈表是否有環的兩種實現方法
http://blog.jobbole.com/106227/ 方法一:首先從頭節點開始,依次遍歷單鏈表的每一個節點。每遍歷到一個新節點,就從頭節點重新遍歷新節點之前的所有節點,用新節點ID和此節點之前所有節點ID依次作比較。如果發現新節點之前的所有節點當中存