Java語言中,遞歸是十分常見的一種算法。今天我們要來練習一下使用遞歸來找出和為100的第n個數。
public static int findNumber(int n){ if(n == 1) return 1; else{ int sum = 0; for(int i=1;i<=n;i++){ sum += findNumber(n-i); if(sum >= 100) break; } return sum; } }
在這段代碼中,我們定義了一個函數findNumber,它接收一個整型參數n。如果n為1,說明這是第一個數,直接返回1。否則,我們需要用一個循環來累加前面的數來計算出當前數。循環中,我們將n-i傳入遞歸,將這個數加到sum中,然后判斷sum是否已經大于等于100。如果是,就跳出循環返回sum。
在主函數中,我們可以測試這個函數,例如,我們要找出和為100的第10個數:
public static void main(String[] args){ int n = findNumber(10); System.out.println(n); // 輸出95 }
這個程序會輸出95,說明和為100的第10個數是95。
總之,遞歸是一種十分有用的算法,用來解決很多問題。使用遞歸來找出和為100的第n個數,可以幫助我們更好地理解遞歸的原理和用法。
上一篇python的綜訓目的
下一篇css外邊框如何設置