See More

package test; import java.util.Scanner; public class RecursionTest { public static void main(String[] args) { System.out.println("course2 : ¿ëµ¿Áß"); Scanner input = new Scanner(System.in); System.out.print("¾çÀÇ Á¤¼ö ÀÔ·Â: "); int number = input.nextInt(); System.out.println(sum(number)); System.out.println(iterativeSum(number)); System.out.println(factorial(number)); System.out.println(iterativeFactorial(number)); f(number); System.out.println(); g(number); System.out.println(); } // (1) ¹Ýº¹ ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÏ¿© 1ºÎÅÍ n±îÁöÀÇ ÇÕÀ» ±¸ÇÏ´Â ¸Þ¼Òµå private static int iterativeSum(int n) { int result = 0; for(int i = 0; i <= n; i++) { result += i; } return result; } // Àç±Í ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÏ¿© 1ºÎÅÍ n±îÁöÀÇ ÇÕÀ» ±¸ÇÏ´Â ¸Þ¼Òµå private static int sum(int n) { if(n <= 0) return 0; else return n + sum(n-1); } // ¹Ýº¹ ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÏ¿© 1ºÎÅÍ n±îÁöÀÇ °öÀ» ±¸ÇÏ´Â ¸Þ¼Òµå private static int iterativeFactorial(int n) { int result = 1; for(int i = 1; i <= n; i++) { result *= i; } return result; } // (2) Àç±Í ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÏ¿© 1ºÎÅÍ n±îÁöÀÇ °öÀ» ±¸ÇÏ´Â ¸Þ¼Òµå private static int factorial(int n) { if(n <= 1) return 1; else return n * factorial(n-1); } // Àç±Í ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÏ¿© n ºÎÅÍ 1±îÁö Ãâ·ÂÇÏ´Â ¸Þ¼Òµå private static void f(int n) { if(n > 0) { System.out.print(n + " "); f(n-1); } } // (3) Àç±Í ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÏ¿© 1 ºÎÅÍ n±îÁö Ãâ·ÂÇÏ´Â ¸Þ¼Òµå private static void g(int n) { if(n > 0) { g(n-1); System.out.print(n + " "); } } }