Board logo

標題: 遞迴函式 (一) - 計算總和 [打印本頁]

作者: 陳品肇    時間: 2019-7-5 11:17     標題: 遞迴函式 (一) - 計算總和

運用遞迴函式,計算從1到某個數的正整數之和。

  1. public class Ch50 {       
  2.         static int total(int n)
  3.         {
  4.                 if(n==1)    //邊界值
  5.                         return 1;
  6.                 else
  7.                     return n+total(n-1);
  8.         }
  9.         /*
  10.              total(5)
  11.              =5+total(4)
  12.              =5+4+total(3)
  13.              =5+4+3+total(2)
  14.              =5+4+3+2+total(1)
  15.              =5+4+3+2+1
  16.         */
  17.         public static void main(String[] args)
  18.         {
  19.                 System.out.println("1+2+...+5="+total(5));
  20.                 System.out.println("1+2+...+101="+total(101));
  21.                 System.out.println("1+2+...+257="+total(257));
  22.         }
  23. }
複製代碼

作者: 張閎鈞    時間: 2019-7-5 11:32

  1. package text369;
  2. import java.util.Scanner;
  3. public class text45 {
  4.         static int io(int n)
  5.         {
  6.                 if(n<2)
  7.                         return 1;
  8.                 else
  9.                         return n+io(n-1);
  10.         }
  11.         public static void main(String[] args) {
  12.                 System.out.println("1+2+.....+5="+io(5));
  13.                 System.out.println("1+2+.....+101="+io(101));
  14.                 System.out.println("1+2+.....+257="+io(257));
  15.                
  16.                
  17.                
  18.         }

  19. }
複製代碼

作者: 林侑成    時間: 2019-7-5 11:33

  1. package asdf;
  2. import java.util.Scanner;
  3. public class QWER
  4. {
  5.         static int t(int x)
  6.     {
  7.             if(x==1)
  8.             {
  9.                     return 1;
  10.             }
  11.             else
  12.             {
  13.                     return x+t(x-1);
  14.             }
  15.     }
  16.      public static void main(String[] args)
  17.      {
  18.              Scanner s=new Scanner(System.in);
  19.              int a;
  20.          System.out.print("1+2+...+多少: ");
  21.          a=s.nextInt();
  22.          System.out.print(t(a));
  23.      }
  24. }
複製代碼

作者: 黃安立    時間: 2019-7-5 11:34

  1. import java.util.Scanner;

  2. public class Ch09 {
  3.     static int total(int n)
  4.     {
  5.             if(n==1)   
  6. return 1;
  7.             else
  8.                     return n+total(n-1);
  9.     }
  10.     public static void main(String args[])
  11.     {
  12.             System.out.println("1+2...+5="+total(5));
  13.             System.out.println("1+2...+101="+total(101));
  14.             System.out.println("1+2...+257="+total(257));
  15.     }
  16. }
複製代碼

作者: 蔣宗儒    時間: 2019-7-5 11:34

  1. import java.util.Scanner;

  2. public class junior {

  3.         static int total(int a )
  4.         {   
  5.                 if (a<2)
  6.                         return 1 ;
  7.                 else
  8.                         return a+total(a-1);       
  9.         }

  10.         public static void main(String args[]) {
  11.                 Scanner c = new Scanner(System.in);
  12.                 int a = c.nextInt();
  13.                 System.out.print(total(a));
  14.         }
  15. }
複製代碼

作者: 潘承渙    時間: 2019-7-5 11:35

  1. import java.util.Scanner;
  2. public class Ch11 {
  3.        
  4.        
  5.         static int total(int n){
  6.                
  7.                 if(n<2){
  8.                         return n;
  9.                 }else{
  10.                         return n + total(n-1);
  11.                 }               
  12.         }
  13.         public static void main(String[] args){
  14.                 System.out.println("1+2+3+4+5="+total(5));
  15.                 System.out.println("1+2...+101="+total(101));
  16.                 System.out.println("1+2+...+257="+total(257));
  17.         }
  18.        
  19.        
  20. }
複製代碼

作者: 湯東緯    時間: 2019-7-5 11:36

  1. import java.util.*;

  2. public class Ch01 {
  3.        
  4.         static int total(int n){
  5.                 if(n==1){
  6.                         return 1;
  7.                 }
  8.                 else{
  9.                         return n+total(n-1);
  10.                 }
  11.         }
  12.         public static void main(String[] args)
  13.      {
  14.             System.out.println("1+2+......+5="+total(5));
  15.             System.out.println("1+2+......+101="+total(101));
  16.             System.out.println("1+2+......+257="+total(257));
  17.      }
  18. }
複製代碼

作者: 呂昀宸    時間: 2019-7-5 11:36

  1. public class n {
  2.         static int myPlus(int n) {
  3.                 if (n == 1)
  4.                         return 1;
  5.                 else
  6.                         return n + myPlus(n - 1);
  7.         }

  8.         public static void main(String[] args) {
  9.                 System.out.println("1+2+...+5=" + myPlus(5));
  10.                 System.out.println("1+2+...+101=" + myPlus(101));
  11.                 System.out.println("1+2+...+257=" + myPlus(257));
  12.         }
  13. }
複製代碼

作者: 黃恆嘉    時間: 2019-7-5 11:38

  1. import java.util.Scanner;

  2. public class Ch09 {

  3.         static int total(int a) {
  4.                 if (a < 2) {
  5.                         return (1);
  6.                 } else {
  7.                         return a + total(a - 1);
  8.                 }

  9.         }

  10.         public static void main(String[] args) {
  11.                 Scanner scn = new Scanner(System.in);
  12.                 System.out.print("從1加到多少?");
  13.                 int a = scn.nextInt();
  14.                 System.out.print(total(a));

  15.         }
  16. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2