// 재귀호출
public class Ex08_recursion {
public static void main(String[] args) {
Test8 tt = new Test8();
int s;
s = tt.sum(10);
System.out.println(s);
s = tt.pow2(10);
System.out.println(s);
System.out.println(tt.pow(2, 5)); // 32.0
System.out.println(tt.pow(2, -2)); //0.25
// 최대공약수
System.out.println(tt.gcd(12, 8)); // 4
}
}
class Test8 {
public int sum(int n) {
return n>1 ? n+sum(n-1) : n;
}
/*
int s=0;
for(int i=1; i<=n; i++){
s+=i;
}
return s;
*/
// 2의 x승 결과
public int pow2(int n) {
return n>=1 ? 2 * pow2(n-1) : 1;
}
// x의 y승 결과
public double pow(int x, int y) {
if(y>=0) {
return y>=1 ? x * pow(x, y-1) : 1;
} else {
return (1.0 / x) * pow(x, y+1);
}
}
// 최대공약수
public int gcd(int a, int b) {
return b==0 ? a : gcd(b, a%b);
}
}
재귀호출 : 메소드에서 자신의 메소드를 다시 호출, 처리하지 못한 데이터는 스택!(저장공간)에 저장
'쌍용강북교육센터 > 7월' 카테고리의 다른 글
0714_Ex11_method : 비정형인자 (0) | 2021.07.15 |
---|---|
0714_Ex10_overloading : 오버로딩 (0) | 2021.07.14 |
0714_Ex07_recursion : 재귀호출 (0) | 2021.07.14 |
0714_Ex06_객체는 레퍼런스 변수이다. (0) | 2021.07.14 |
0714_Ex05_method (0) | 2021.07.14 |