import java.util.Scanner;
public class Test {
public static void main(String[] args) {
// 사용자에게 n 입력받기
// Scanner 객체 생성
Scanner scan = new Scanner(System.in);
System.out.print("양의 점수를 입력해 주세요.:");
// intInt(): int형 파라미터 입력
int n = scan.nextInt();
// 총 합
int sum = SumFunction(n);
System.out.print(" = "+sum);
}
public static int SumFunction(int n) {
// 1부터 n까지 총 합 구하기
// f(1) = 1
// f(n) = n + f(n-1)
// 종료조건 : n==1
// n부터 1씩 감소하면서 숫자들을 합하고 1이 되는 순간 종료됨
if(n==1) {
System.out.print(n);
return 1;
}
System.out.print(n+" + ");
return n + SumFunction(n-1);
}
}
package first;
import java.util.Scanner;
public class Gugudan {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("숫자를 입력해 주세요.:");
int num = scan.nextInt();
System.out.println("구구단 프로그램을 실행합니다.");
guGudan(num,1);
}
public static void guGudan(int num, int i) {
// 곱하기 1부터 시작
// n * i
// printf: 서식이 있는 출력
// %2d: 두 자리 정수, %3d:세 자리 정수
// \n(new line):한 줄 띄움
// 종료조건
//구구단이므로 1부터 9까지
// 9보다 커지면 종료
if(i>9) {
return ;
} else {
System.out.printf("%2d * %2d = %3d\n",num,i,num*i);
guGudan(num,i+1);
}
}
}
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("한 자리 정수를 입력해주세요.:");
int num = scan.nextInt();
System.out.println("팩토리얼 계산 프로그램을 실행합니다.");
long result = factorialFunction(num);
System.out.printf("%d!=%6d",num,result);
}
public static long factorialFunction(int num) {
// 결과값
long result = 0;
// 종료 조건
// 곱셈에서 1은 무의미함 (1*1=1)
// 입력한 값(num)이 1보다 작거나 같으면 1을 리턴함
if(num<=1) {
return 1;
}
result = num * factorialFunction(num-1);
return result;
}
}
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("숫자를 입력해주세요:");
int num = scan.nextInt();
System.out.println("피보나치 수 계산 프로그램을 실행합니다.");
// 0부터 n까지 피보나치 수 모두 출력
for(int i=0;i<=num;i++) {
System.out.printf("%d\t",fiboFunction(i));
}
}
public static int fiboFunction(int num) {
// f(0) = 0
// f(1) = 1
// f(n) = f(n-1) + f(n-2)
// 0이나 1을 입력 받은 경우 동일한 값을 리턴함
// 동일한 값을 리턴한다면 계산할 필요가 없으므로 종료
// 종료 조건: n==0, n==1
if(num==0) {
return 0;
} else if(num==1){
return 1;
} else {
return fiboFunction(num-1) + fiboFunction(num-2);
}
}
}